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:
得出的结论我比较满意:
首先,可以肯定的结论是与原生直接编译的机器代码没得比,俺也从没敢指望超过。
其次,QScript 成为三个解释器中执行速度最快的一个,速度分别达到了 Jedi 3 的 345 倍和 PaxCompiler 的14.6倍。我原来的预期是接近 PaxCompiler 这个号称 Delphi 下最快的解释器就可以了,实际结果远超我的预期。
由于上面的结果,让我重拾继续编写 QScript 的信心,相信 QScript 会在明年带给大家惊喜。(今年?今年日程已经排满了,没工夫,不要扔砖头给我~~~~西红柿也不要~~~)