如何使用clock_gettime计算命令所需的总时间

关于如何操作从clock_gettime获得的值的细节,我有点问题。我想计算一个可执行/命令的总运行时间

我正在寻找打印出来的实时格式(如3.475s)
我几乎完成了,但我很确定它不会以我想要的格式返回。我怎么能这样做

struct timespec tsstart,tsend;
时钟获取时间(时钟单调和tsstart);
//可执行/命令执行并完成
clock_gettime(时钟单调,&tsend);
long long realtime=(tsend.tv_sec-tsstart.tv_sec)*100000LL+tsend.tv_usec-tsstart.tv_usec;
printf(real:%.3lds,realtime);

每当我尝试运行它时,在短时间内(即<10秒),我得到的只是一个与

35273s

如何将输出的格式更改为3d.p。我需要精确吗

struct timespec tsstart,tsend;
时钟获取时间(时钟单调和tsstart);
//可执行/命令执行并完成
clock_gettime(时钟单调,&tsend);
浮点实时=(tsend.tv_sec-tsstart.tv_sec)+(tsend.tv_nsec-tsstart.tv_nsec)/100000000.0;
printf(real:%.3fs,realtime);

发表评论