楼主: ertyuj
6339 8

如何记录我的程序最终运行了多长时间? [推广有奖]

  • 0关注
  • 1粉丝

已卖:7份资源

硕士生

40%

还不是VIP/贵宾

-

威望
0
论坛币
254 个
通用积分
0.7615
学术水平
0 点
热心指数
1 点
信用等级
0 点
经验
-351 点
帖子
136
精华
0
在线时间
164 小时
注册时间
2007-2-7
最后登录
2022-3-17

楼主
ertyuj 发表于 2012-7-10 12:57:58 |AI写论文
5论坛币
我有一个SAS程序,每次运行,大约需要若干小时,我想知道最终具体运行了多长时间,网上找了半天,以下这段程序最为相关:

DATA WORK._NULL_;
Tempdate=PUT(DATE(),WEEKDATE32.);
Temptime=PUT(TIME(),HHMM5.);
CALL SYMPUT("currdate",Tempdate);
CALL SYMPUT("currtime",Temptime);
RUN;

%PUT &currdate &currtime;

把上面这段程序插入到我的程序的开始和结束的位置,即可显示程序开始运行的时间,以及结束的时间。但不知道是否还有更为好的方法,还望各位大侠提供,不胜感谢。

最佳答案

jjtww 查看完整内容

在开始结尾加个 %let start=%sysfunc(datetime(),datetime20.2); procs;*你的程序; %let end=%sysfunc(datetime(),datetime20.2); data _null_; time=&start-&end; call symputx('costtime',time); run; %put &costtime; 好久不写了,仅供参考。
关键词:symput sas程序 date time curr 记录 时间 程序 如何
数据科学和机器学习博客:https://shorturl.at/jtHTW

沙发
jjtww 发表于 2012-7-10 12:57:59
在开始结尾加个
%let start=%sysfunc(datetime(),datetime20.2);
procs;*你的程序;
%let end=%sysfunc(datetime(),datetime20.2);
data _null_;
  time=&start-&end;
  call symputx('costtime',time);
run;
%put &costtime;
好久不写了,仅供参考。

藤椅
ziyenano 发表于 2012-7-10 13:19:22
QQ截图20120710131526.png

如图, log 里面 会提示程序运行时间,以及CPU时间

板凳
jjtww 发表于 2012-7-10 17:18:35
这个还行,如果要更精确的,参照版主nkwilling写的书里有调取Log时间的程序,仅供参考。

报纸
可~乐 发表于 2012-7-11 18:46:50
options fullstimer;
已有 1 人评分学术水平 收起 理由
freetiger + 1 观点有启发

总评分: 学术水平 + 1   查看全部评分

地板
hjhyj 发表于 2013-8-10 00:13:45
data _null_;
x=put(today(),yymmn6.)||""||put(time(),hhmm5.);
put x;
run;

分别在程序的开始和结束地方放置这样的代码

7
knight48 发表于 2014-2-27 10:46:39
可~乐 发表于 2012-7-11 18:46
options fullstimer;
good.

8
zljwanzi25 发表于 2015-9-6 09:50:39
jjtww 发表于 2012-7-10 12:57
在开始结尾加个
%let start=%sysfunc(datetime(),datetime20.2);
procs;*你的程序;
为什么提示 “期望算数运算符”

9
teqel 发表于 2015-9-6 11:06:48
jjtww 发表于 2012-7-10 12:57
在开始结尾加个
%let start=%sysfunc(datetime(),datetime20.2);
procs;*你的程序;
这个我有点疑惑。如果在 data step里写
a=&start;
a 到底是什么类型的数?我的出错

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-17 08:22