|
|
createTable |
noTheads |
Threads | ||||
|
RealTime |
CpuTime |
RealTime |
CpuTime |
RealTime |
CpuTime | ||
|
100*100*100 |
Base Engine |
0:02.54 |
0:01.48 |
0:02.06 |
0:02.06 |
0:01.09 |
0:03.39 |
|
SPD Engine |
0:05.29 |
0:00.87 |
0:01.98 |
0:1.98 |
0:01.81 |
0:03.43 | |
|
100*100*500 |
Base Engine |
0:16.75 |
0:08.36 |
0:09.56 |
0:09.56 |
0:04.65 |
0:15.98 |
|
SPD Engine |
0:23.81 |
0:04.35 |
0:09.10 |
0:09.07 |
0:04.85 |
0:16.11 | |
|
100*100*2000 |
Base Engine |
0:54.93 |
0:31.73 |
0:53.90 |
0:37.65 |
0:37.53 |
1:09.43 |
|
SPD Engine |
1:37.51 |
0:20.03 |
1:09.51 |
0:35.60 |
0:33.23 |
1:09.17 | |
结论:
1. Threads效果明显;
2. SPD Engine目标生成效率不如BaseEngine;
3. 在普通SCSI/IDE存储下,SPDEngine无效果或效果不明显;
注:以下summary相当于sql中计算21个统计量:
1(count)+4(sum)+4(min)+4(max)+4(mean)+4(Std)
libname spd spde 'e:/' datapath=('e:/' 'f:/' 'g:/') partsize=32;
/************* SPD Engine ****************/
options cpucount=4;
data spd.spdtest;
do i=1 to 100; do j=1 to 100;do k=1 to 2000;
x=sin(i);y=x;z=x;
output;end;end;end;run;
options THREADS;
proc summary data=spd.spdtest nway missing;
class i j;var x y z k;output out=o;run;
options noTHREADS;
proc summary data=spd.spdtest nway missing;
class i j;var x y z k;output out=o;run;
/************* Base Engine ****************/
data spdtest;
do i=1 to 100; do j=1 to 100;do k=1 to 2000;
x=sin(i);y=x;z=x;
output;end;end;end;run;
options THREADS;
proc summary data=spdtest nway missing;
class i j;var x y z k;output out=o;run;
options noTHREADS;
proc summary data=spdtest nway missing;
class i j;var x y z k;output out=o;run;
8545

被折叠的 条评论
为什么被折叠?



