楼主: 一诺9257
8162 2

[问答] 怎么看函数的运行时间? [推广有奖]

  • 10关注
  • 7粉丝

教授

66%

还不是VIP/贵宾

-

威望
0
论坛币
23 个
通用积分
3.8021
学术水平
28 点
热心指数
34 点
信用等级
17 点
经验
301 点
帖子
949
精华
0
在线时间
1321 小时
注册时间
2010-3-21
最后登录
2020-2-22

楼主
一诺9257 发表于 2014-10-24 20:38:27 |AI写论文
5论坛币
在R运行中,比较自编函数f1(x)和f2(x)的运行速度!用了下面命令,但不知怎么解释!求大神

system.time(f1(x))
   user  system elapsed
    4.7     0.0     4.7
> system.time(f2(x))
   user system elapsed     
    0.7     0.0     0.7

请问:   user system elapsed    什么意思?哪个函数运行的好,速度提升了多少?谢谢

最佳答案

daishen 查看完整内容

这个问题看看人家专家如何回答的,已经被问过多次了。 举个假想的例子,或许能直观说明: 时间 |---a-------------------------------------------| 启动 |---b---------->| 并行CPU1 |----c--->| 调用系统底层(比如磁盘读写) |--d-->| 并行CPU1底层返回后继续执) |--e-->| 并行CPU2 |----f----------------->| 并行返回调用并最终结束 |---g-->| ...
关键词:运行时间 System lapse STEM PSED system

沙发
daishen 发表于 2014-10-24 20:38:28
这个问题看看人家专家如何回答的,已经被问过多次了。
举个假想的例子,或许能直观说明:
时间 |---a-------------------------------------------|
启动 |---b---------->|
并行CPU1             |----c--->|
调用系统底层(比如磁盘读写)      |--d-->|
并行CPU1底层返回后继续执)               |--e-->|
并行CPU2             |----f----------------->|
并行返回调用并最终结束                          |---g-->|
这里 elapsed 应该就是 a;user 是 b + c + e + f + g;system 是 d。所以在多核情况下,user 是可能超过 elapsed 值的。
你那个函数当然的第二个好了。
已有 2 人评分经验 论坛币 学术水平 热心指数 收起 理由
李会超 + 40 + 4 + 1 + 1 热心帮助其他会员
hubifeng? + 40 + 4 + 1 观点有启发

总评分: 经验 + 80  论坛币 + 8  学术水平 + 1  热心指数 + 2   查看全部评分

藤椅
hubifeng? 学生认证  发表于 2014-10-25 09:09:08

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

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-26 18:32