SAS中文论坛

标题: 利用SAS程序占用空间,求优良程序 [打印本页]

作者: shiyiming    时间: 2011-11-14 16:32
标题: 利用SAS程序占用空间,求优良程序
我希望利用SAS程序,占用某个文件夹下的大约3G的空间。
我的简陋做法为:
[code:wchgtlux]data a;
        length aa $32767.;
        do i =1 to 100000;
        aa='';
        output;
        end;
run;[/code:wchgtlux]

不过占用cpu 比较高,另外仍需40秒左右的时间。

有没有更优秀的做法,求教。
作者: shiyiming    时间: 2011-11-14 21:36
标题: Re: 利用SAS程序占用空间,求优良程序
估计目的蛮邪恶的。真不晓得这样的程序还为神马这么追求效率,你的程序已经是最优的啦。
如果仅仅是为了占位,可以copy/paste一个3G大小的随便啥文件,rename成后缀名.sas7bdat,看上去就很像回事儿了。你依然可以用SAS实现上述操作,呵呵呵。
作者: shiyiming    时间: 2011-11-15 00:37
标题: Re: 利用SAS程序占用空间,求优良程序
18   libname T "T:\";
NOTE: 已成功分配逻辑库引用名 T,如下所示:
       引擎:        V9
       物理名: T:\
19   data T.a;
20      length aa $32767.;
21      do i =1 to 100000;
22      aa='';
23      output;
24      end;
25   run;

NOTE: 数据集 T.A 有 100000 个观测和 2 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          6.21 秒
      CPU 时间          6.06 秒
作者: shiyiming    时间: 2011-11-15 00:42
标题: Re: 利用SAS程序占用空间,求优良程序
42   libname T "T:\";
NOTE: 已成功分配逻辑库引用名 T,如下所示:
       引擎:        V9
       物理名: T:\
43   data T.a(compress=yes);
44      length aa $32767.;
45      do i =1 to 100000;
46      aa='';
47      output;
48      end;
49   run;

NOTE: 数据集 T.A 有 100000 个观测和 2 个变量。
NOTE: 压缩的数据集 T.A 大小减少了 98.47%。
       压缩为 3 页;不压缩将会要求 196 页。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          3.32 秒
      CPU 时间          3.31 秒


压缩后48.0 MB
作者: shiyiming    时间: 2011-11-15 17:57
标题: Re: 利用SAS程序占用空间,求优良程序
84   data T.a/*(compress=yes)*/;
85   length aa $32767.;
86   retain aa '';
87   do i=1 to 100000;
88   output;
89   end;
90   run;

NOTE: 数据集 T.A 有 100000 个观测和 2 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          5.03 秒
      CPU 时间          4.87 秒


91   data T.a (compress=yes);
92   length aa $32767.;
93   retain aa '';
94   do i=1 to 100000;
95   output;
96   end;
97   run;

NOTE: 数据集 T.A 有 100000 个观测和 2 个变量。
NOTE: 压缩的数据集 T.A 大小减少了 98.47%。
       压缩为 3 页;不压缩将会要求 196 页。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          2.76 秒
      CPU 时间          2.76 秒

用retain可提升将近20%效率。
作者: shiyiming    时间: 2011-11-16 04:14
标题: Re: 利用SAS程序占用空间,求优良程序
用了compress后,数据文件就变小了,所以占不到那么多空间了。
作者: shiyiming    时间: 2011-11-16 11:55
标题: Re: 利用SAS程序占用空间,求优良程序
[quote="shiyiming":2vwtx1kc]估计目的蛮邪恶的。真不晓得这样的程序还为神马这么追求效率,你的程序已经是最优的啦。
如果仅仅是为了占位,可以copy/paste一个3G大小的随便啥文件,rename成后缀名.sas7bdat,看上去就很像回事儿了。你依然可以用SAS实现上述操作,呵呵呵。[/quote:2vwtx1kc]

哈哈 邪恶想法被看出来啦 <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->  <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Laughing" /><!-- s:lol: -->
作者: shiyiming    时间: 2011-11-16 11:57
标题: Re: 利用SAS程序占用空间,求优良程序
[quote=&quot;superkuhasu&quot;:2ugccq3o]84   data T.a/*(compress=yes)*/;
85   length aa $32767.;
86   retain aa '';
87   do i=1 to 100000;
88   output;
89   end;
90   run;

NOTE: 数据集 T.A 有 100000 个观测和 2 个变量。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          5.03 秒
      CPU 时间          4.87 秒


91   data T.a (compress=yes);
92   length aa $32767.;
93   retain aa '';
94   do i=1 to 100000;
95   output;
96   end;
97   run;

NOTE: 数据集 T.A 有 100000 个观测和 2 个变量。
NOTE: 压缩的数据集 T.A 大小减少了 98.47%。
       压缩为 3 页;不压缩将会要求 196 页。
NOTE: “DATA 语句”所用时间(总处理时间):
      实际时间          2.76 秒
      CPU 时间          2.76 秒

用retain可提升将近20%效率。[/quote:2ugccq3o]


十分感谢!!
作者: shiyiming    时间: 2011-11-28 16:19
标题: Re: 利用SAS程序占用空间,求优良程序
呃~
其实默认设置就是retain的,9.2~
所以那个retain去掉也行~




欢迎光临 SAS中文论坛 (https://www.mysas.net/forum/) Powered by Discuz! X3.2