![]() |
|
||||||||||||||
| | 网站首页 | 数据库教程 | web编程 | 服务器 | 程序设计 | | ||
|
||
|
||||||
| 小议“易语言.飞扬”的程序执行效率 | ||||||
作者:佚名 文章来源:不详 点击数: 更新时间: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)。 功能几乎相同的代码,在易语言中的三次执行结果分别是: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 | ||||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | ||||||
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 网站地图 | 管理登录 | | |||
|