2025年技术层面看《易语言》与《易飞扬》

技术层面看《易语言》与《易飞扬》技术层面看 易语言 与 易飞扬 易已经推出已经很多年了 之最近 易飞扬的推出 因此不免评价一番 作为第一个稍微看的顺延的中文语言 我曾经在有些言论中提到过易编译器很 垃圾 因此有不少人对我很不满意 但是依然固执己见 并对此进行一个简单的分析 为什么我会得出这个结论 我们首先还是就易语言先进行一个分析 首先我们选取官方的一个例子 易飞扬 易语言

大家好,我是讯享网,很高兴认识大家。

技术层面看<易语言>与<易飞扬>:

易已经推出已经很多年了 +之最近 易飞扬的推出.因此不免评价一番,作为第一个稍微看的顺延的中文语言:

我曾经在有些言论中提到过易编译器很 '垃圾'.因此有不少人对我很不满意,但是依然固执己见,并对此进行一个简单的分析,为什么我会得出这个结论.

我们首先还是就易语言先进行一个分析: 首先我们选取官方的一个例子:

拥有自己的编译器
    易语言拥有自己独立的高质量编译器,源程序被直接编译为目的机器的CPU指令,不存在任何速度瓶颈和安全隐患。

          
讯享网
    编译器是编程语言中最核心最关键的部分,易语言的编译器不仅效率高,而且可以编译出与操作系统平台无关的可执行代码。
              

          
然后我们对这个例子稍加改动:

.版本 2

.子程序 __启动窗口_创建完毕

Test1 ()
Test2 ()


.子程序 Test1
.局部变量 累加变量, 整数型
.局部变量 时间, 整数型

时间 = 取启动时间 ()
累加变量 = 0
.计次循环首 (, )
    累加变量 = 累加变量 + 1
.计次循环尾 ()
时间 = 取启动时间 () - 时间
输出调试文本 (“Test1 Time Spend ” + 到文本 (时间) + “ MS”)

.子程序 Test2
.局部变量 累加变量, 整数型
.局部变量 时间, 整数型

时间 = 取启动时间 ()
累加变量 = 0
.计次循环首 (, )
   累加变量 = 累加变量 + 2 - 1
.计次循环尾 ()
时间 = 取启动时间 () - 时间
输出调试文本 (“Test1 Time Spend ” + 到文本 (时间) + “ MS”)

注意Test1 与 Test 2的区别

我仅仅将+1 换成了 + 2 - 1.大家可以试图先猜测一下所花费的时间.

开始运行被调试易程序
* Test1 Time Spend 219 MS
* Test1 Time Spend 2386 MS

被调试易程序运行完毕

结果是不是另你吃了一惊?差了整整10倍。这里我都不去和C++ C语言甚至Delphi,C# 甚至VB这些比了。结果大家都知道。又是一个10倍的差距。

如果算一般的解释语言的话:如果差两倍还想得通。我们还是来看看汇编码:

Test1子程序的汇编码:

004032E9     55                     push ebp
004032EA     8BEC                   mov ebp,esp
004032EC     81EC           sub esp,24
004032F2     C745 FC 00000000       mov dword ptr ss:[ebp-4],0
004032F9     C745 F8 00000000       mov dword ptr ss:[ebp-8],0
00     68 00000000            push 0
00     BB 0            mov ebx,308
0040330A     E8 5A010000            call E与EF.00
0040330F     83C4 04                add esp,4
00     8945 FC                mov dword ptr ss:[ebp-4],eax
00     C745 F8 00000000       mov dword ptr ss:[ebp-8],0
0040331C     33C9                   xor ecx,ecx
0040331E     41                     inc ecx
0040331F     51                     push ecx
00     81F9 00E1F505          cmp ecx,5F5E100
00     0F8F 0          jg E与EF.00
0040332C     FF45 F8                inc dword ptr ss:[ebp-8]
0040332F     59                     pop ecx
00   ^ EB EC                  jmp short E与EF.0040331E

00     83C4 04                add esp,4
00     68 00000000            push 0
0040333A     BB 0            mov ebx,308
0040333F     E8             call E与EF.00
00     83C4 04                add esp,4
00     8945 EC                mov dword ptr ss:[ebp-14],eax
0040334A     DB45 EC                fild dword ptr ss:[ebp-14]
0040334D     DD5D EC                fstp qword ptr ss:[ebp-14]
00     DD45 EC                fld qword ptr ss:[ebp-14]
00     DB45 FC                fild dword ptr ss:[ebp-4]
00     DD5D E4                fstp qword ptr ss:[ebp-1C]
00     DC65 E4                fsub qword ptr ss:[ebp-1C]
0040335C     DD5D DC                fstp qword ptr ss:[ebp-24]
0040335F     DD45 DC                fld qword ptr ss:[ebp-24]
00     E8 5BFFFFFF            call E与EF.004032C2
00     8945 FC                mov dword ptr ss:[ebp-4],eax
0040336A     8BE5                   mov esp,ebp
0040336C     5D                     pop ebp
0040336D     C3                     retn

Test2子程序的汇编码:

0040336E     55                     push ebp
0040336F     8BEC                   mov ebp,esp
00     81EC           sub esp,24
00     C745 FC 00000000       mov dword ptr ss:[ebp-4],0
0040337E     C745 F8 00000000       mov dword ptr ss:[ebp-8],0
00     68 00000000    

小讯
上一篇 2025-02-08 07:04
下一篇 2025-01-17 12:39

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/42843.html