[QScript] – 一个原型验证程序对比结果

QScript 目前还只是镜中花,但并不妨碍我们先去看看它的未来。今天中午想到一个设计方案,下午进行一个原型的编码设计和测试,得出的结果很令我欣喜。

测试只是一个简单的整数循环 100 万次,对应的代码可以用 Pascal 或 C++ 表示如下:

【Pascal】

var
  I:Integer;
begin
I:=0
while I<1000000 do
   Inc(I);
end;

【C++】

int I=0;
while(I<1000000)
   I++;

对比测试都不包括解释器的编译时间,只看运行效率。参与比较的三个解释器分别是 QScript、Jedi 3 中带的 jvInterpreter 和 PaxCompiler 4.2:

QScriptCompare

得出的结论我比较满意:

首先,可以肯定的结论是与原生直接编译的机器代码没得比,俺也从没敢指望超过。

其次,QScript 成为三个解释器中执行速度最快的一个,速度分别达到了 Jedi 3 的 345 倍和 PaxCompiler 的14.6倍。我原来的预期是接近 PaxCompiler 这个号称 Delphi 下最快的解释器就可以了,实际结果远超我的预期。

由于上面的结果,让我重拾继续编写 QScript 的信心,相信 QScript 会在明年带给大家惊喜。(今年?今年日程已经排满了,没工夫,不要扔砖头给我~~~~西红柿也不要~~~)

 

分享到: