SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 1358|回复: 8
打印 上一主题 下一主题

利用SAS程序占用空间,求优良程序

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2011-11-14 16:32:42 | 只看该作者

利用SAS程序占用空间,求优良程序

我希望利用SAS程序,占用某个文件夹下的大约3G的空间。
我的简陋做法为:
[code:wchgtlux]data a;
        length aa $32767.;
        do i =1 to 100000;
        aa='';
        output;
        end;
run;[/code:wchgtlux]

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

有没有更优秀的做法,求教。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2011-11-14 21:36:46 | 只看该作者

Re: 利用SAS程序占用空间,求优良程序

估计目的蛮邪恶的。真不晓得这样的程序还为神马这么追求效率,你的程序已经是最优的啦。
如果仅仅是为了占位,可以copy/paste一个3G大小的随便啥文件,rename成后缀名.sas7bdat,看上去就很像回事儿了。你依然可以用SAS实现上述操作,呵呵呵。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
板凳
 楼主| 发表于 2011-11-15 00:37:14 | 只看该作者

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 秒
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
地板
 楼主| 发表于 2011-11-15 00:42:43 | 只看该作者

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
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
5#
 楼主| 发表于 2011-11-15 17:57:31 | 只看该作者

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%效率。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
6#
 楼主| 发表于 2011-11-16 04:14:57 | 只看该作者

Re: 利用SAS程序占用空间,求优良程序

用了compress后,数据文件就变小了,所以占不到那么多空间了。
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
7#
 楼主| 发表于 2011-11-16 11:55:31 | 只看该作者

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: -->
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
8#
 楼主| 发表于 2011-11-16 11:57:13 | 只看该作者

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]


十分感谢!!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
9#
 楼主| 发表于 2011-11-28 16:19:04 | 只看该作者

Re: 利用SAS程序占用空间,求优良程序

呃~
其实默认设置就是retain的,9.2~
所以那个retain去掉也行~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2025-9-6 21:15 , Processed in 0.505601 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表