А вот и простенький бенчмарк, спасибо Леониду за рыбогенератор с микросекундомером

Add(MainForm,16248104,364,224)
{
Width=531
Height=181
link(onCreate,732931:doWork1,[])
}
Add(Edit,8133756,462,238)
{
Left=60
Top=10
Width=365
ReadOnly=0
link(onChange,378667:doEvent1,[])
}
Add(Button,11513152,364,266)
{
Left=10
Top=10
Width=40
Caption="New"
link(onClick,732931:doWork2,[(404,272)(404,251)])
}
Add(Edit,9626858,749,245)
{
Left=10
Top=45
Width=450
link(Str,15551848:Var1,[(755,233)(741,233)(741,287)(706,287)])
}
Add(Edit,14695809,700,196)
{
Left=435
Top=10
Width=25
Text="6"
DataType=2
}
Add(MultiElement,732931,413,238)
{
link(onEvent1,8133756:doText,[])
}
BEGIN_SDK
Add(EditMulti,6568332,21,21)
{
EventCount=1
WorkCount=2
Width=433
link(doWork1,13823396:doEvent1,[(49,27)(49,69)])
link(doWork2,15265336:doWork1,[(101,34)])
}
Add(Random,12410857,112,56)
{
Min=100000
Max=110000
link(onRandom,3242411:doEvent1,[])
}
Add(For,6660170,189,63)
{
link(onEvent,14475288:doRandom,[])
link(onStop,4880366:doData,[(230,76)(230,118)])
link(End,12410857:Random,[(202,44)(149,44)(149,97)(118,97)])
}
Add(Hub,13823396,77,63)
{
link(onEvent1,12410857:doRandomize,[])
link(onEvent2,15265336:doWork3,[(101,76)])
}
Add(Hub,3242411,154,56)
{
link(onEvent1,3582758:doClear,[(373,62)(373,76)])
link(onEvent2,6660170:doFor,[])
}
Add(Convertor,1930274,287,63)
{
Mode=4
link(onResult,6042138:doStrCat,[])
}
Add(Random,14475288,238,63)
{
Min=198
Max=255
link(onRandom,1930274:doConvert,[])
}
Add(StrCat,6042138,336,63)
{
link(onStrCat,3582758:doValue,[])
link(Str1,7238518:Var1,[(342,51)(378,51)(378,101)])
}
Add(Memory,3582758,385,63)
{
Default=String()
}
Add(GetDataEx,7238518,385,96)
{
link(Data,3582758:Value,[])
}
Add(HubEx,15265336,97,56)
{
link(onEvent,12410857:doRandom,[])
}
Add(DoData,4880366,385,112)
{
link(onEventData,6568332:onEvent1,[(435,118)(435,27)])
link(Data,7238518:Var2,[])
}
END_SDK
Add(MultiElement,15551848,700,245)
{
link(onEvent1,9626858:doText,[])
link(Data1,14695809:Text,[])
}
BEGIN_SDK
Add(EditMulti,9360466,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
VarCount=1
Height=144
VOffset=30
HOffset=45
link(doWork1,5214860:doEvent1,[(31,57)(31,104)])
link(Var1,2518281:Var1,[(72,103)])
}
Add(Hub,5214860,42,98)
{
OutCount=3
link(onEvent1,344769:doLength,[(66,104)(66,62)])
link(onEvent2,1062153:doWork2,[])
link(onEvent3,13205347:doCompare,[(66,118)(66,125)])
}
Add(Length,344769,77,56)
{
link(onLength,4289633:doCalc,[])
}
Add(MathParse,4289633,119,56)
{
MathStr="(%1 - 1) div %2"
link(X2,2919491:Var2,[])
}
Add(If_else,13205347,77,119)
{
Op2=Integer(0)
link(onTrue,6331647:doWork2,[(119,125)(119,118)])
link(onFalse,1484001:doFor,[])
link(Op1,6609051:Var1,[(83,107)])
}
Add(For,1484001,133,126)
{
Start=1
link(onEvent,15580922:doCalc,[])
link(onStop,6331647:doWork3,[(172,139)])
link(End,6609051:Var3,[(146,107)])
}
Add(GetDataEx,6609051,119,102)
{
link(Data,4289633:Result,[])
}
Add(Insert,869519,238,126)
{
SubStr="_"
link(onInsert,1062153:doWork1,[(282,132)(282,111)])
link(Str,2518281:Var2,[])
}
Add(MathParse,15580922,182,126)
{
MathStr="%1*(%2+1)"
link(onResult,869519:doInsert,[])
link(X2,2919491:Var3,[(195,47)])
}
Add(GetDataEx,2919491,126,42)
{
link(Data,9360466:Data1,[(132,32)(72,32)])
}
Add(Memory,9661622,238,63)
{
}
Add(HubEx,1062153,222,105)
{
Angle=3
link(onEvent,9661622:doValue,[(226,69)])
}
Add(GetDataEx,2518281,238,98)
{
link(Data,9661622:Value,[])
}
Add(HubEx,6331647,168,112)
{
link(onEvent,9360466:onEvent1,[(178,118)(178,57)])
}
END_SDK
Add(MultiElement,11624761,700,406)
{
link(onEvent1,1278735:doText,[])
link(Data1,8133756:Text,[(706,390)(468,390)])
}
BEGIN_SDK
Add(EditMulti,7656592,21,21)
{
EventCount=1
WorkCount=1
DataCount=1
VarCount=1
Width=489
Height=347
link(doWork1,13085663:doEvent1,[(87,27)(87,160)])
link(Var1,1034086:Var1,[(27,222)])
}
Add(For,10028416,231,238)
{
Start=7
Step=7
InData=0
link(onEvent,11793843:doInsert,[])
link(onStop,7656592:onEvent1,[(387,251)(387,27)])
}
Add(Insert,11793843,280,238)
{
SubStr=" "
link(onInsert,6270288:doWork1,[(324,244)(324,149)(268,149)])
link(Str,6871647:Var2,[])
}
Add(GetDataEx,6871647,280,217)
{
link(Data,3146189:Value,[])
}
Add(Length,3405680,182,238)
{
link(onLength,10028416:doFor,[])
link(Str,1034086:Var2,[])
}
Add(Memory,3146189,280,154)
{
}
Add(HubEx,6270288,264,154)
{
link(onEvent,3146189:doValue,[])
}
Add(Hub,13085663,105,154)
{
link(onEvent1,6270288:doWork2,[])
link(onEvent2,3405680:doLength,[(151,167)(151,244)])
}
Add(GetDataEx,1034086,182,217)
{
Angle=1
link(Data,6871647:Var1,[])
}
END_SDK
Add(Hub,378667,504,238)
{
OutCount=10
link(onEvent1,7779797:doStart,[(658,244)(658,307)])
link(onEvent2,15551848:doWork1,[])
link(onEvent3,7779797:doStop,[(658,258)(658,314)])
link(onEvent4,9311572:doStart,[(658,265)(658,356)])
link(onEvent5,11624761:doWork1,[(658,272)(658,412)])
link(onEvent6,9311572:doStop,[(658,279)(658,363)])
link(onEvent7,16662575:doStart,[(658,286)(658,468)])
link(onEvent8,2767277:doWork1,[(626,293)(626,524)])
link(onEvent9,2767277:doWork2,[(626,300)(626,531)])
link(onEvent10,16662575:doStop,[(626,307)(626,475)])
}
Add(Edit,1278735,749,406)
{
Left=10
Top=75
Width=450
link(Str,11624761:Var1,[(755,394)(741,394)(741,449)(706,449)])
}
Add(Label,2335720,749,308)
{
Left=465
Top=45
}
Add(Label,1385241,749,357)
{
Left=465
Top=80
}
Add(TimeCounter,7779797,700,301)
{
link(onStop,2335720:doText,[])
}
Add(TimeCounter,9311572,700,350)
{
link(onStop,1385241:doText,[])
}
Add(MultiElement,2767277,700,518)
{
link(onEvent1,9932350:doText,[])
}
BEGIN_SDK
Add(EditMulti,366913,21,21)
{
EventCount=1
WorkCount=2
DataCount=1
VarCount=1
Width=356
Height=130
link(doWork1,7409094:doClear,[(258,27)(258,62)])
link(doWork2,6603082:doValue,[(39,34)(39,55)])
}
Add(Length,1671279,105,49)
{
link(onLength,13945066:doFor,[])
}
Add(For,13945066,154,49)
{
Start=1
Step=6
InData=0
link(onEvent,7764826:doCopy,[])
link(onStop,16133236:doDelete,[(200,62)(200,111)])
}
Add(Copy,7764826,217,49)
{
Count=6
link(onCopy,7409094:doStrCatDlm,[])
link(Str,6603082:Value,[(223,32)(96,32)(96,90)(62,90)])
}
Add(StrCatDelim,7409094,266,49)
{
Delimiter=" "
Point(doClear)
link(Str1,12470339:Var3,[(272,37)(306,37)(306,89)])
}
Add(GetDataEx,12470339,266,84)
{
link(Data,7409094:Result,[])
}
Add(Delete,16133236,266,105)
{
Count=1
link(onDelete,366913:onEvent1,[(344,111)(344,27)])
link(Str,12470339:Var2,[])
}
Add(Memory,6603082,56,49)
{
link(onData,1671279:doLength,[])
}
END_SDK
Add(Edit,9932350,749,518)
{
Left=10
Top=110
Width=450
link(Str,2767277:Var1,[(755,506)(742,506)(742,562)(706,562)])
}
Add(Label,7573395,749,469)
{
Left=465
Top=115
}
Add(TimeCounter,16662575,700,462)
{
link(onStop,7573395:doText,[])
}