IronPython和C#执行速度对比

来源:互联网 责任编辑:栏目编辑 发表时间:2013-07-02 00:13 点击:

其实我自己对执行速度这个问题本来并没有什么兴趣,因为以前的经验告诉我:除非是运算密集型的程序,否则脚本语言和编译型语言使用起来速度没有多大差别。但是我们公司有个人知道我的想法以后,天天在我耳边嚷嚷脚本运行速度太慢,那好吧,让我用实验来说服你。不过这一试,还真的出现了吓人一跳的结果。

我构思的实验覆盖到下面几个我认为是实际项目中比较有代表性的场景:

1. 访问一个稍大的数据表,遍历所有记录;

2. 生成并操作一个列表;

3. 生成并操作一个字典;

4. 通过反射动态加载并调用一个方法。

C#部分的代码,编译时使用了/debug-和/optimize+:

以下为引用的内容:

using System;
using
 System.Data.SqlClient;
using
 System.Diagnostics;
using
 System.Collections.Generic;
using
 System.Reflection;

namespace
 Test
{
    class
 Test
    {
        public static void Main(string
[] args)
        {
            Console.WriteLine("C#:"
);
            Measure(TestDb, "TestDb"
);
            Measure(TestList, "TestList"
);
            Measure(TestDict, "TestDict"
);
            Measure(TestReflection, "TestReflection"
);
        }
        
        delegate void
 FuncDelegate();
        
        static void Measure(FuncDelegate func, string
 funcName)
        {
            Stopwatch sw = new
 Stopwatch();
            sw.Start();
            func();
            sw.Stop();
            Console.WriteLine("    {0} used {1} ms"
, funcName, sw.ElapsedMilliseconds);
 &

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • 用C#制作屏幕捕获程序
  • .NET程序员项目开发必知必会—Dev环境中的集成测试用例执行时上
  • 遍历ArrayList易犯错误
  • C#对XML操作:一个处理XML文件的类(1)
  • .NET简谈反射(动态调用)
  • 使用C#编写LED样式时钟控件
  • DataList嵌套问题 如何删除内层子DataList的记录
  • 怎样用C#实现完整文档打印功能
  • .NET简谈自定义事务资源管理器
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1