这是用e语言编译的。 因为我使用的4.05试用版,所以无法生成EXE文件,只能在电子语言环境中运行
这是e语言的代码:
.版本2
.汇编窗口汇编1
.已点击子程序_按钮1_
局部变量时间1,长整数型
局部变量时间2,长整数型
局部变量结果,整数类型
.局部变量到文本,整数类型
时间1=取启动时间() ) )。
结果=SumTimes (转换为数值(编辑框1 .内容) ) ) ) )
时间2=启动时间() -时间1
编辑框2 .内容=编辑框2 .到内容文本(结果) ) ) ) )文本),毫秒) #换行
.子程序SumTimes,长整数型
参数timer,长整数型
局部变量结果,长整数型
结果=0
.测量循环的开头(timer,) )。
结果=结果1
.计算循环尾() )。
返回(结果)
这是用delphi 2007编译的EXE文件,可以看到出差
这是delphi的代码:
单元单元1;
接口
用户系统
Windows、Messages、SysUtils、Variants、Classes、Graphics、Controls、Forms、
诊断、StdCtrls;
类型
tform1=class(tform ) )。
Edit1: TEdit;
btnAdd: TButton;
Label1: TLabel;
Memo1: TMemo;
procedurebtnaddclick (sender :主题;
私密的
{私有描述}
功能和时间(I : integer ) :字符串;
公共的
{公共描述}
结束;
var
Form1: TForm1;
实施
{$R *.dfm}
procedure tform1. btnadd click (发送器:主题;
var
dEnd:real;
dstart :集成器;
str :字符串;
比根
dStart:=GetTickCount;
str :=sum times (strtoint (trim ) edit1.text );
dEnd:=GetTickCount-dStart;
用于memo1.lines.add(edit1.text )次累积计算的:(floattostr(dend ) );
结束;
功能表单1.sum times (I : integer ) :string;
var j,m:integer;
比根
for j :=0 to i - 1 do
比根
m:=m 1;
结束;
result:=inttostr(m;
结束;
结尾。
这是我用C# 2005的测试程序,大家可以测试。 正在加载数据.
以下是C#的代码:
用户系统;
using system.collections.generic;
using系统.component model;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace cs harp测试
{
publicpartialclassform 1: form
{
公共表单1 () )。
{
初始化组件(;
}
privatevoidbutton1_ click (对象发送器,事件发生器) ) ) ) ) ) ) ) )。
{
//system.datetime current time=new system.datetime (;
int iStart,iEnd;
龙秀;
iStart=Environment.TickCount;
ST=Sumtimer(long.parse ) textbox1.text );
//system.datetime current time1=new system.datetime (;
iend=environment.tick count-istart;
在RTB.appendtext(textbox1.text )次的累计计算中使用:(iend.tostring ) )、毫秒(n );
}
隐私长时间(longs ) )。
{
长米=0;
for (长gi=1; i=s; I )
{
m =1;
}
返回m;
}
}
}
结论:在这些编译器中,效率最高的是直接编译到机器码中的delphi,可见他编译的代码大小(418K )。 但是,C#和e语言都不是直接编译成机器码,所以没有什么可以比较的,但e语言的效率高于C#确实令人吃惊。
测试文件:
c#编译文件: http://dl2.csdn.net/down4/2007 06 28/28050252199.exe单击下载
delphi编译的文件: http://http://下载dl2.csdn.net/down4/2007 06 28/28050658854.exe
资料来源: http://blog.csdn.net/w James 2000/archive/2007/06/28/1669668.aspx