Профили файла-коэффициента : Сервер 3.18 в сравнении с Ultra-32. Подтверждение



Posted by Анатолий Анимица (195.230.67.70) on February 11, 2001 at 14:08:12:

In Reply to: Сравнения, сравнения, сравнения... posted by Аркадий Водяник on February 09, 2001 at 03:54:21:









Приведу уточненные результаты измерений и сравнени скоростей Ultra-32, сервера 3.18
в дополнение к ранее опубликованным - моим и Аркадия Григорьевича Водяника.

Оказалось, что, к моему отчасти удивлению, преимущество сервера 3.18 в сравнении с
Ultra-32
достигает 2..3 раз против ожидавшегос 1.3..1.5.

Я выполнил измерения на одной и той же базе и на одном единственном файле-коэффициенте
FCTMCOTG, который в общем профиле занимает 35% времени старта сервера.

Измерения на сервере проведены на одном старте (повторяются устойчиво, так что это надежные цифры)
и точно так же - на одном старте Ultra-32.

Мы видим, что некоторые операторы выполняются за практически одинаковое время, а некоторые - вдвое
медленнее, так что результирующая производительность зависит от того, что написано.

Приведенная ниже таблица поможет увидеть результаты измерений в деталях.
Числа в столбцах понятны без лишних пояснений: проценты и миллисекунды сервера, проценты и
микросекунды Ultra, отношение времени Ultra к Server.


Последнее замечание. В предыдущем измерении я использовал результат из Ultra-32 по AltF9,
что не совсем корректно.

AAA



пpофиль файла-коэффициента FCTMCOTG
Количество выполнений: 635 потpебовалось 865 мс = 100% (Server 3.18)

Server 3.18 Ultra-32 Ultra/Srv
%% ms %% mcs
* сбыт отгрузка
* (c) FA
* Q - количество в ед.изм. товара
* CR - цена продажи с НДС
* ND - % НДС (20% по умолчанию)
*.on
*,off
5 0.3% 5335.5 1.06 ng=[get %%,'NDS']
0.1% 2116.1 if ng<0 ND=0;elseif ng>0 ND=20;endif
1.2% 10 0.5% 7638.4 0.76 $=0;bi=1;ys=[intsn yc];co=[strip [cp [co],1,33]]
0.9% 14503.9 m3=[strip [stamp 3]];m4=[strip [cp m3,1,4]]+[cp ys,4,1]+[strip [cp m3,6,3]]
0.9% 13093.9 if (VI='tmcotg01')|(VI='tmcotg02')|(VI='tmcotg03')|(VI='tmcotg04')|(VI='tmcotg05')
0.1% 1779.0 st='411^'+sk;kr='411'
else n1=VI;call n2
fact 03 'error','не описаны процедуры по операции '+n1+' '+n2,m3
stop;endif
0.1% 1730.1 rr=[strip rr]
0.1% 2283.5 if rr+'.'=' .' rr='--';endif
if rr='0' rr='--';endif
5 0.3% 3927.1 0.79 if [ps '*',rr]=0 if [length rr]=6 if [vl rr]=0 if [vl rr] in 10000..999999
rr=[cp rr,1,3]+'*'+[cp rr,4,3]
endif;endif;endif;endif
5 1.4% 21019.3 4.20 a=[n1 $D];pa=[pa *a];as=[as *pa] что
5 1.0% 16005.9 3.20 if a=[sa *pa,as] goto itogo;endif итого
0.1% 1869.0 if [type Q]=1 Q=0;fact 03 'error','не число в количестве',m3;[set %%,'error',1];endif
0.1% 1918.0 if [type CR]=1 CR=0;fact 03 'error','не число в цене',m3;[set %%,'error',1];endif
0.1% 1665.5 if [type ND]=1 ND=0;endif 0, если не задан
*
0.1% 1665.6 oq=0;os=0;on=0;nq=0;ns=0;nn=0
23.1% 200 12.9% 197791.9 0.99 news 12 'sklpr',st,??,??,a,rr,?qt,?oq,?os,?on,??,??
* формат факта
*
* N док.NO-от кого или кому-что-вид-данные-ост.к-во-ост.сум.-ост.НДС-m4-co
*
* формат пол qt (строка данных о количественных атрибутах операции)
*
* приход/возврат прих./расход/возврат расх.
* |к-во|сумма|сумма НДС|сумма отпуска|сумма НДС отп.|
* НДС зачтен|НДС оставлен 19|НДС в товар|
0.3% 5009.7 if ( [success])|(oq nq=oq;ns=os;nn=on количества не изменютс
ss=0;sn=0 суммы списани и НДС=0
5 0.4% 6677.0 1.34 fact 03 'error',a+' '+'надо: '+[intsn Q]+'.'+[cp [intsn 100+[ce Q]],2,2]+' есть: '+[i ntsn oq]+'.'+[cp [intsn 100+[ce oq]],2,2],m3
[set %%,'error',1]
else
0.4% 6312.7 oc=0;nc=0;if oq oc=os/oq;nc=on/oq;endif;ss=Q*oc;sn=Q*nc
0.2% 3079.0 nq=oq-Q;ns=os-ss;nn=on-sn в случае наличи
endif
1.2% 10 1.2% 18616.0 1.8 rn=[get *a,'rentnr'];if rn=0 rn=[get °SKLAD,'rentnr'];endif рентабельность
0.3% 4021.5 uc=CR/(1+ND/100)*(1-rn/100) учетна цена дл продукции
* формирование размера в наименовании
0.3% 4024.2 if [ps '*',rr]=0 if [length rr]=6 if [vl rr]=0 if [vl rr] in 10000..999999
rr=[cp rr,1,3]+'*'+[cp rr,4,3]
endif;endif;endif;endif
*
S=Q*cr
0.1% 1701.6 if ND=0 N=0;elseif ND=20 N=[ro S*20/1.2]/100;else
fact 03 'error','недопустимое значение % НДС '+[sn ND,5,2],m3;[set %%,'error',1]
endif
2.9% 25 3.3% 50396.9 2.0 qt='расход реализаци|'+[strip [sn Q,15,4]]+'|'+[strip [sn ss,15,4]]+'|'+[strip [sn sn,15 ,4]]+'|'+[strip [sn S,15,4]]+'|'+[strip [sn N,15,4]]+'|'
1.0% 14863.5 gd=[strip [get *a, rr+'ngtd+country']];if [length gd]>2 co=co+'||'+gd;endif
9.8% 85 5.9% 90413.3 1.1 fact 12 'sklpr',st,NO,PO,a,rr,qt,nq,ns,nn,m4,co
5 0.7% 10080.8 [plus %%,'NO',-1]
1.2% 10 0.2% 3430.4 ge=[get %%,'NO']
0.4% 6531.6 if ge>0 stop;else bi=0;endif;if ge<0 [set %%,'NO',0];endif
************************************************************************************
:itogo
er=0
*er=[get %%,'error'];[set %%,'error',0];if er stop;endif
:plusnum
S1=0 сумма продажи 901 с НДС
S2=0 НДС дл 901
S3=0 сумма списани 902 без НДС
S4=0 НДС дл 902
5 md=mc+dc/100
5 0.7% 10057.6 2.0 rewind facts range md,md
:loopit
*
4.0% 35 4.3% 65234.4 1.8 search 12 'sklpr',st,NO,PO,?a,?rr,?qt,??,??,??,??,??
0.1% 1632.6 if [success]
0.2% 2566.6 x0=' ';x1=0;x2=0;x3=0;x4=0;x5=0;x6=0
0.6% 9864.5 ps=[ps '|',qt];if ps x0=[strip [cp qt,1,ps-1]];qt=[strip [cp qt,ps+1,200]];endif
1.7% 15 0.6% 9021.8 ps=[ps '|',qt];if ps x1=[strip [cp qt,1,ps-1]];qt=[strip [cp qt,ps+1,200]];endif
5 0.6% 8506.6 ps=[ps '|',qt];if ps x2=[strip [cp qt,1,ps-1]];qt=[strip [cp qt,ps+1,200]];endif
5 0.5% 8391.9 ps=[ps '|',qt];if ps x3=[strip [cp qt,1,ps-1]];qt=[strip [cp qt,ps+1,200]];endif
5 0.5% 8422.7 ps=[ps '|',qt];if ps x4=[strip [cp qt,1,ps-1]];qt=[strip [cp qt,ps+1,200]];endif
5 0.5% 8229.4 ps=[ps '|',qt];if ps x5=[strip [cp qt,1,ps-1]];qt=[strip [cp qt,ps+1,200]];endif
1.0% 14977.2 y1=[vl x1];y2=[vl x2];y3=[vl x3];y4=[vl x4];y5=[vl x5]
5 0.3% 4230.9 z1=[type y1];z2=[type y2];z3=[type y3];z4=[type y4];z5=[type y5]
0.2% 3542.3 if z1+z2+z3+z4+z5>0
fact 03 'error','нечисловые значени количества или суммы в операцих данной отгрузки',m3
stop
endif
0.2% 3012.6 S1=S1+y4;S2=S2+y5;S3=S3+y2
*
goto loopit
endif
S8=0
0.1% 1891.2 if VI='tmcotg04'
ts=[get 6831,'st1']/100
5 S8=S1*ts
S1=S1+S8
endif
11.6% 100 19.0% 290343.9 2.9 -*PO 901 (S1);-903 6812 (S2);
11.0% 95 12.2% 186216.1 2.0 -902 *kr (S3)
5 0.3% 5076.9 fd=[get 6841,'st1']
5 fd=fd/100
5 0.1% 1712.4 if ND>=0
3.5% 30 4.3% 65638.9 2.2 -4401 6841 (S1-S2)*fd
endif
1.7% 15 0.2% 3059.0 2.1 sj=[get 6842,'st1']
sj=sj/100
if ND>=0
4.0% 35 4.0% 60636.2 1.9 -9121 6842 (S1-S2)*sj
endif
8.1% 70 4.7% 71382.8 1.1 fact 10 'prod',NO,PO,S1,S2,S3,S4,0,m3,co
5 0.3% 4250.7 0.8 if (VI='tmcotg03')|(VI='tmcotg04')
0.3% 4076.7 ch=[get *sk,'cash']
0.2% 3311.4 if [ex *ch]
3.5% 30 5.4% 82111.7 2.7 -*ch *PO (S1)
if VI='tmcotg04'
1.2% 10 3.9% 59851.9 6.0 -905 6831 (s8)
endif
endif
endif






Пpишедшие ответы: