Вверх ↑
Разработчик
Ответов: 26163
Рейтинг: 2127
#1: 2008-11-15 13:46:56 ЛС | профиль | цитата
Леонид писал(а):
а подтвердить:

Не понял

------------ Дoбавленo:


Вот здесь, вроде, показывает, что отрабатывает все i=10000 и j=10000



Add(MainForm,1742357,168,231)
{
Left=20
Top=105
Width=485
Height=311
Caption="Тест скорости"
}
Add(InlineCode,510788,224,287)
{
WorkPoints=#6:doCalc|
EventPoints=#7:onVihod|
DataPoints=#6:Data_a|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|29:uses kol,Share,Windows,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|33: C:Array[0..100000] of double;|9: public|21: Data_a:THI_Event;|22: onVihod:THI_Event;|50: procedure doCalc(var _Data:TData; Index:word);|5: end;|0:|14:implementation|29:procedure THiAsmClass.doCalc;|56:var a,i,j,g:integer; |13: d:double;|16: b,e,f:int64;|5:begin|37: a := ReadInteger(_Data,Data_a,0);|9: g:=0;|33: QueryPerformanceFrequency(f);|24: f:=round(f/1000000);|4: |31: QueryPerformanceCounter(b);|57: for i:=1 to a do for j:=1 to a do C[j] := pi * j * i;|35: QueryPerformanceCounter(e); |166: _hi_OnEvent(onVihod, ('Умнож. в память'+';'+Int2Str(round((e-b)/f))+';'+Double2Str((e-b)/f/a/a)+';'+Int2Str(round((e-b)/a/a)))+';'+Int2Str(i-1)+'*'+Int2Str(j-1));|2: |31: QueryPerformanceCounter(b);|53: for i:=1 to a do for j:=1 to a do g := g + j + i;|35: QueryPerformanceCounter(e); |159: _hi_OnEvent(onVihod, ('Сложение'+';'+Int2Str(round((e-b)/f))+';'+Double2Str((e-b)/f/a/a)+';'+Int2Str(round((e-b)/a/a)))+';'+Int2Str(i-1)+'*'+Int2Str(j-1));|7: |0:|4:end;|4:end.|
link(onVihod,13424301:doAdd,[])
link(Data_a,12779124:Text,[])
}
Add(Button,13864568,168,287)
{
Left=55
Top=15
Width=70
Caption="Вычислить"
link(onClick,510788:doCalc,[])
}
Add(StringTable,13424301,280,287)
{
Left=10
Top=50
Width=460
Height=220
Columns=#16:Тип действия=120|14:Время мксек=80|13:Цикл мксек=80|11:Цикл Тик=80|11:Итераций=80|
Grid=0
}
Add(Edit,12779124,224,238)
{
Left=135
Top=15
Text="10000"
DataType=2
link(onChange,3092606:doCompare,[])
}
Add(If_else,3092606,266,238)
{
Type=3
Op2=Integer(100000)
link(onTrue,3117955:doValue,[])
link(onFalse,3117955:doClear,[])
}
Add(Memory,3117955,315,238)
{
Default=Integer(100000)
link(onData,4082044:doEvent1,[])
}
Add(Edit,16679945,504,245)
{
Left=200
Top=15
Width=125
Color=12639424
Text="100000000 циклов"
ReadOnly=0
}
Add(MathParse,14360575,406,245)
{
DataCount=1
MathStr="%1 * %1"
link(onResult,8836980:doStrCat,[])
}
Add(Hub,4082044,357,238)
{
link(onEvent1,12779124:doText2,[(397,244)(397,225)(212,225)(212,251)])
link(onEvent2,14360575:doCalc,[])
}
Add(StrCat,8836980,455,245)
{
Str2=" циклов"
link(onStrCat,16679945:doText,[])
}

карма: 22

0