📄 tst912.mal
字号:
# analyse the overhead of chopping a table# the multiplex code blocks.factory getChunk(b:bat[:oid,:lng], size:lng)(bb:bit,c:bat[:oid,:lng]); (chk,c):= bat.newIterator(b,size);barrier allways:= chk>=0; yield (bb,c):= (true,c); (chk,c):= bat.hasMoreElements(b,size); redo allways:= chk>=0;exit allways; io.print("#factory done\n"); return (bb,c):= (false,c);end getChunk;function choptest(b:bat[:oid,:lng], size:lng, base:lng); t0:= alarm.usec(); barrier (tst,c):= user.getChunk(b,size); t:= algebra.select(c, 256000:lng,266000:lng); redo (tst,c):= user.getChunk(b,size); exit (tst,c); t1:= alarm.usec(); d0:= t1-t0; i:= 1000000:lng/size; if:= calc.flt(i); df:= calc.flt(d0); f:= df/if; io.printf("#chopped at %d",size); io.printf(" at %f usec\n",f);end choptest;b:= bat.new(:oid,:lng);barrier (go,i):= language.newRange(0:lng); k:= mmath.rand(); l:= calc.lng(k); bat.insert(b,nil:oid,l); redo (go,i):= language.nextElement(1:lng,1000000:lng);exit (go,i);t0:= alarm.usec();barrier doit:= true; t:= algebra.select(b, 256000:lng,266000:lng);exit doit;t1:= alarm.usec();base:= t1-t0;io.printf("#select direct %d usec\n",base);user.choptest(b,100000:lng,base);user.choptest(b,10000:lng,base);user.choptest(b,1000:lng,base);user.choptest(b,100:lng,base);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -