-=Dima=-, че фигней-то заниматься...
Вот это:
Add(MainForm,4706769,105,182)
{ Left=20 Top=105 } Add(InlineCode,12874951,273,133) { WorkPoints=#7:doCript|7:doReset| EventPoints=#7:onCript| VarPoints=#5:Count| DataPoints=#6:Stream| Code=#15:unit HiAsmUnit;|0:|9:interface|0:|21:uses kol,Share,Debug;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|12: Counter,|22: RandSeed:cardinal;|9: public|21: Stream:THI_Event;|22: onCript:THI_Event;|51: procedure doCript(var _Data:TData; Index:word);|51: procedure doReset(var _Data:TData; Index:word);|49: procedure Count(var _Data:TData; Index:word);|5: end;|0:|14:implementation|0:|59:procedure THiAsmClass.doCript(var _Data:TData; Index:word);|15:var St:PStream;|14: i:integer;|5:begin|38: St := ReadStream(_Data,Stream,nil);|25: if St = nil then exit;|35: for i := 0 to St.Size-1 do begin|40: RandSeed := RandSeed*$08088405 + 1;|72: PChar(St.Memory)[i] := Char(ord(PChar(St.Memory)[i]) xor RandSeed);|18: inc(Counter);|7: end;|33: _hi_OnEvent(onCript,Counter);|4:end;|0:|59:procedure THiAsmClass.doReset(var _Data:TData; Index:word);|5:begin|15: Counter := 0;|31: RandSeed := ToInteger(_Data);|4:end;|0:|57:procedure THiAsmClass.Count(var _Data:TData; Index:word);|5:begin|30: _Data.Data_type := data_int;|25: _Data.idata := Counter;|4:end;|0:|4:end.| link(onCript,4260125:doStop,[]) link(Stream,6512714:Var2,[]) } Add(MemoryStream,15463613,273,49) { } Add(Button,693644,105,133) { Left=110 Top=95 Width=90 Caption="Cript" link(onClick,3614037:doEvent1,[]) } Add(TimeCounter,4260125,329,126) { link(onStart,12874951:doCript,[(371,132)(371,116)(263,116)(263,139)]) link(onStop,4766106:doString,[]) } Add(ODialog,5334323,161,49) { StartDir="." link(onExecute,2687527:doOpen,[]) } Add(FileStream,2687527,217,49) { link(onLoad,15463613:doCopy,[]) } Add(SDialog,1170429,399,182) { link(onExecute,11893659:doValue,[]) } Add(FileStream,6970000,546,168) { Mode=1 AutoCopy=0 Point(doCopyFromStream) link(FileName,11893659:Value,[(552,156)(514,156)(514,228)(454,228)]) } Add(DoData,15308388,497,182) { link(onEventData,6970000:doCopyFromStream,[]) link(Data,6512714:Var3,[(503,107)]) } Add(GetDataEx,6512714,266,98) { link(Data,15463613:Stream,[]) } Add(Memory,11893659,448,182) { link(onData,15308388:doData,[]) } Add(Hub,3614037,161,133) { OutCount=4 link(onEvent1,5334323:doExecute,[(203,139)(203,107)(151,107)(151,55)]) link(onEvent2,12199895:doData,[]) link(onEvent3,4260125:doStart,[(316,153)(316,132)]) } Add(Edit,7973802,217,98) { Left=110 Top=60 Width=90 Text="0" DataType=2 } Add(DoData,12199895,217,140) { link(onEventData,12874951:doReset,[]) link(Data,7973802:Text,[]) } Add(Label,15120858,441,133) { Left=210 Top=95 Width=55 Height=20 } Add(Button,2366673,343,182) { Left=110 Top=125 Width=90 Caption="Save" link(onClick,1170429:doExecute,[]) } Add(FormatStr,4766106,385,133) { Mask="%1 байт за %2 мсек" link(onFString,15120858:doText,[]) link(Str1,15463613:Size,[(391,101)(286,101)]) }
показало скорость "65247941 байт за 438 мсек", что соответствует 142М/сек.
Теоретически, это тоже можно назвать - медленно. Если не говорить по сравнению с чем.
А ты цифр не называешь... Не на Синклере считаешь часом
|