全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 SAS专版
4919 5
2016-02-16
参考:https://bbs.pinggu.org/thread-1392911-1-1.html
***********************************************************************
sas只提供了每个数据步/过程步的运行时间,如果过程流有比较多的程序以及与其他接口有交互的话,就需要自己做一些运算。
在第一个程序中嵌入以下代码,把读到的系统时间放到全局宏变量start里面。
/*开始计时*/
data _null_;
/*datetime()*/
a=time();
call symput('start',a);
run;


在最后一个程序里嵌入以下代码,结果输出到日志里:
data _null_;
a=time();
b=a-&start;
put b time.;
run;

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2016-2-16 16:44:13
以下是我用的方法:
%let start=%sysfunc(time());

data a;
do i=0 to 1000000000;
end;
run;

%let end=%sysfunc(time());
data _null_;
a=intck("second",&start.,&end.);
put a "Seconds";
run;
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-16 21:20:32
co_fund 发表于 2016-2-16 16:44
以下是我用的方法:
%let start=%sysfunc(time());
看着更干净,哈哈。不过可以的话最好少调用函数,a=&end-&start 比调用intck效率要高一些。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2016-2-17 08:28:25
yukai08008 发表于 2016-2-16 21:20
看着更干净,哈哈。不过可以的话最好少调用函数,a=&end-&start 比调用intck效率要高一些。
你说得对,而且精度还变高了,感谢
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-10-16 10:22:33
co_fund 发表于 2016-2-16 16:44
以下是我用的方法:
%let start=%sysfunc(time());
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2018-10-16 10:22:52
yukai08008 发表于 2016-2-16 21:20
看着更干净,哈哈。不过可以的话最好少调用函数,a=&end-&start 比调用intck效率要高一些。
谢谢分享
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群