Вверх ↑
Разработчик
Ответов: 26209
Рейтинг: 2138
#1: 2009-03-01 02:22:33 ЛС | профиль | цитата
Эдик писал(а):
По моим подсчётам VBScript быстрей HiAsm в 3.5 раза

Если уж мерить, так в обоих случаях скрипт. Вот пример, где VBJScript показывает, далеко не лучшие, результаты по сравнению с Delphi кодом, аж в 40 раз (66 -- Delphi, 2844 -- VBJScript)



Add(MainForm,4882624,266,287)
{
Width=401
}
Add(Button,14104962,266,329)
{
Left=10
Top=30
Caption="HiAsm"
link(onClick,11706367:doEvent1,[])
}
Add(Message,8555818,469,336)
{
link(Caption,9688063:Value,[])
}
Add(TimeCounter,3475327,350,329)
{
link(onStart,3691378:Start,[(398,335)(398,293)])
link(onStop,8555818:doMessage,[])
}
Add(Button,6585019,266,392)
{
Left=10
Top=75
Caption="VBScript"
link(onClick,8287669:doEvent1,[])
}
Add(Hub,8287669,315,392)
{
link(onEvent1,12815455:doStart,[])
link(onEvent2,12815455:doStop,[])
}
Add(VBJScript,13649343,413,392)
{
WorkPoints=#9:Raschitat|
Script=#27:function doWork(Data,Index)|29: If Index = "Raschitat" Then|24: For a = 1 to 5000000|22: b = sqr (a + b) |8: Next|13: 'MsgBox b|8: End if|12:End function|
UseName=0
}
Add(TimeCounter,12815455,350,392)
{
link(onStart,13649343:Raschitat,[])
link(onStop,15942785:doMessage,[])
}
Add(Message,15942785,469,399)
{
}
Add(InlineCode,3691378,413,287)
{
WorkPoints=#5:Start|
EventPoints=#8:onResult|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|25: onResult: THI_Event;|50: procedure Start(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|28:procedure THiAsmClass.Start;|3:var|16: a, b: integer;|5:begin|26: for a := 1 to 5000000 do|28: b := Round(sqrt(a + b));|28: _hi_OnEvent(onResult, b); |4:end;|0:|4:end.|
link(onResult,9688063:doValue,[])
}
Add(Hub,11706367,315,329)
{
link(onEvent1,3475327:doStart,[])
link(onEvent2,3475327:doStop,[])
}
Add(Memory,9688063,476,287)
{
}

карма: 22

0