作者ming790925 (MING)
看板R_Language
标题[问题]计算CPU执行程式时间
时间Sun Apr 12 17:02:41 2015
文章分类提示:
问题
[问题类型]:
程式谘询(我想用R 做某件事情,但是我不知道要怎麽用R 写出来)
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
我写了一个 simulation 方法的程式
想与某一方法比较程式执行时间
因此我搜寻了一下几个可以计算时间差的函数:
proc.time()
system.time()
Sys.time()
我研究一下他的说明看起来好像大同小异
但算出的时间有时却不太相同
想请教一下各位大大
在比较两程式执行时间 会偏好用哪种计算方法比较适当能说服人呢?
感激!!
[程式范例]:
proc.time()
system.time()
Sys.time()
[环境叙述]:
> sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-w64-mingw32/x64 (64-bit)
[关键字]:
CPU Time, System Time, compute, function time
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.114.12
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/R_Language/M.1428829363.A.DDD.html
1F:→ celestialgod: system.time是用proc.time包起来... 04/12 17:20
2F:→ celestialgod: Sys.time只有现实时间,CPU时间应该不一定一致 04/12 17:21
3F:→ ming790925: sorry 内文程式打成城市 请见谅!! 04/12 17:28
4F:→ celestialgod: 你可以按E修改 04/12 17:34
※ 编辑: ming790925 (140.113.114.12), 04/12/2015 17:36:06
5F:→ ming790925: 谢! 所以CPU每次执行时间都不同吗?那该怎麽比较好呢? 04/12 17:37
※ 编辑: ming790925 (140.113.114.12), 04/12/2015 17:46:51
6F:→ celestialgod: 看目的吧,你比程式效率通常是用proc.time 04/12 17:59
7F:→ celestialgod: or system.time 04/12 17:59
8F:→ ming790925: 请教一下:proc.time会算三个时间为user/system/elapse 04/13 19:41
9F:→ ming790925: 我对电脑背景没有那麽足够所以有点分不出前两个差别, 04/13 19:42
10F:→ ming790925: 我算出结果觉得elapsed算的跟Sys.time好像是一样的 04/13 19:42
11F:→ ming790925: 所以我想我应该是要用user/system这两个其中之一,但我 04/13 19:43
12F:→ ming790925: 看不太懂他的差异 不知可否有人给点提示 THX 04/13 19:43
14F:→ ming790925: 我看这个也实在是雾煞煞阿... 04/13 19:45
15F:→ celestialgod: 简单来说,SYSTEM是cpu时间,ELAPSED等同用Sys.time 04/13 22:21
16F:→ celestialgod: user就是你执行程式的时间 04/13 22:21
17F:→ celestialgod: 画一个TIME LINE来看,前後段就是USER TIME 04/13 22:22
18F:→ celestialgod: 中段是程式执行时间(cpu TIME) 04/13 22:22
19F:→ celestialgod: 这两个时间相加就是elapsed time 04/13 22:23