网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 网络学院 >> 程序设计 >> VC编程 >> 文章正文
  小议“易语言.飞扬”的程序执行效率            【字体:
小议“易语言.飞扬”的程序执行效率
作者:佚名    文章来源:不详    点击数:    更新时间:2007-9-12    

我们自信“易语言.飞扬”的执行效率足够高。
正在装载数据……

在之前“易语言.飞扬”发布时,我们曾打算做一次比较正式的测试,拿EF的执行效率,跟C、C++、Java、C#进行比较,以此验证“易语言.飞扬”的效率究竟如何。最终我们中止了这项测试,因为我们发现几乎不可能得到一个让人信服的结果,进行效率测试所需要涵盖的范围太广了:浮点数运算、参数传递、方法调用、输入输出、文本操作、文件操作、多线程/并发、网络、数据库、反射……即使从某个局部范围内证明“易语言.飞扬”比其它编程语言快,又能说明什么问题呢?无非是又得出一个被人们认为“哗众取宠”的结论而已。

C++跟C比,JAVA跟C++比,C#跟JAVA比,类似的执行效率上的比较,我们见的多了,也不泛大公司和著名试验室的参与。可是结论呢?有没有明确的结论?我只看到不同阵营的人互相争论、嘲笑、漫骂、忽悠、扯皮 ……不是不认可垃圾收集(GC)吗?不是不认可虚拟机吗?可是JAVA和C#发展的很好啊。不是认为脚本解释执行太慢了吗?可是Python、Ruby也一样很火啊。

我们不想再趟这片浑水了。

也许我们无法证明“易语言.飞扬”比其它编程语言(C/C++/Java/C#)快,但我们也无法容忍别人毫无顾忌的说“易语言.飞扬”太慢。我们只想强调EF的执行速度“足够快”。至于“足够快”是多快,呵呵,也许是,足以满足用户需求,和其它编程语言没有太大的差距(如果被证明比其它慢)。

前面说了,完整的效率比较是一项大工程,是几乎不可能完成的任务。我勉为其难,只写一个最最简单的测试代码:

公开 类 启动类
{
    公开 静态 启动()
    {
        
int sum = 0;
        
int time = 运行环境.取启动时间();

        
for(int i = 0; i < 100000000; i++)
        {
            sum 
= sum + i;
        }

        控制台.输出行(运行环境.取启动时间() 
- time);
        控制台.输出行(
"sum = " + sum.到文本());
    }
}

三次运行结果分别是(单位为毫秒(ms)):469, 469, 453,平均值为 463 (ms)。
运行环境:Windows XP SP2, AMD 1.6G, 1G RAM, EF1.1.x。

功能几乎相同的代码,在易语言中的三次执行结果分别是:3422, 3438, 3406,平均值为 3422 (ms)。

也许这么简单的代码并不能说明什么问题。但是,“易语言.飞扬”的执行效率比易语言快,却是早在意料之中的。如果深入了解过“EF对象模型(EFOM)”,接触过EFDK(EF本地类库开发包),或者反汇编过EF编译器生成的代码,对这个结果应该不会感到惊讶。我们的自信正源自于此。(注:EFOM、EFDK均未公开发布,等待时机成熟。)

我们并不片面地追求绝对的高效。EF的介绍中有一句“高效实用”,对了,以“实用”为前提。

 (就目前而言,“易语言.飞扬”编译器生成的代码,尚未经过刻意优化。)

 




本文来源:http://blog.csdn.net/efdev/archive/2007/08/23/1756079.aspx
站内文章搜索 高级搜索
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
     directx 图形接口指南(…
     win2k下的api函数的拦截
     用crypto  api  实现公钥…
     根据别人的md5源码封装的…
     vc中使用gdi+合并jpg图片
     document/view的交互 --…
     windows下的函数hook技术
     windows api函数大全一
     用vc 6.0实现串行通信的…
     vc++技术内幕(第四版)…
  • java现状----编程使用的语言…

  • 南开C语言习题集

  • VC6开发多语言界面支持的简单…

  • 程序语言设计原理(第五版)…

  • C/C++语言面试题目

  • Delphi的编程语言(1)

  • Delphi的编程语言(2)

  • Eclipse中文语言包的使用方法

  • Eclipse的安装(软件安装,语…

  • 在Struts2中怎样用Groovy语言…

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    网络学院©2007 www.23book.net
    为您提供web编程,vb编程,vc编程,服务器架设管理,数据库设计等方面的知识 站长:David