n******0 发帖数: 298 | 1 我需要GENERATE一个大的SAS dataset, 有几千万或是上亿OBSERVATIONS,我用DO LOOP
(见下面的CODE),要几十分钟,有没有更快的方法?
"old" 里已经有几万个OBSERVATIONS了,再把它扩大。
data new;
set old;
do a=1 to 50;
do b=1 to 50;
...
output;
end;
end;
run; |
m*********n 发帖数: 413 | 2 写几个do-loop和写一个do-loop没区别吧
几十分钟是I/O要花点时间,如果能都in-memory 最好
LOOP
【在 n******0 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 我需要GENERATE一个大的SAS dataset, 有几千万或是上亿OBSERVATIONS,我用DO LOOP : (见下面的CODE),要几十分钟,有没有更快的方法? : "old" 里已经有几万个OBSERVATIONS了,再把它扩大。 : data new; : set old; : do a=1 to 50; : do b=1 to 50; : ... : output; : end;
|
s*****9 发帖数: 285 | 3 直接COPY百个DATASET然后把他SET起来,理论上比一个一个OUTPUT快很多 |
m*********n 发帖数: 413 | 4 copy的这种方法,总的IO时间更长吧。
【在 s*****9 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 直接COPY百个DATASET然后把他SET起来,理论上比一个一个OUTPUT快很多
|
s*****9 发帖数: 285 | 5 IO doloop一条一条output吧。。copy完set的是一块块的。 |
n******0 发帖数: 298 | 6 小的DATASET也要OUTPUT出来,没有现成的COPY。
【在 s*****9 的大作中提到】![](/moin_static193/solenoid/img/up.png) : 直接COPY百个DATASET然后把他SET起来,理论上比一个一个OUTPUT快很多
|