首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实时与用户时间的巨大差异

实时与用户时间的巨大差异
EN

Stack Overflow用户
提问于 2012-05-14 13:24:10
回答 2查看 280关注 0票数 1

我在两个不同的计算环境中运行相同的C++实现,其中第一个是具有48 Gb内存的Xeon2.3 GHz,另一个是具有3GB内存的Core2 Duo 2.53 GHz。对于编译,我使用了具有类似选项的g++。我应该指出,第一个系统是64位红帽,第二个是32位Ubuntu。此外,g++版本是不同的,在第一个系统中安装了4.1.2版本,在第二个系统版本中安装了4.6.1版本。

当我运行代码时,两个系统都返回完全相同的解决方案。对于每个系统,时间结果如下。

系统-1:

实0m19.623 s

用户2m13.588s

sys 0m3.118 s

系统-2:

真0m11.229s

用户0m11.785 s

sys 0m1.496s

我有两个问题。

  1. 为什么System-1 (更好的计算环境)比System-2?
  2. 在System-1中运行该代码,其实时性和用户时间之间的差异很大。为什么会出现这种情况?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-27 22:58:00

问题解决了。我在我的应用程序中使用一个共享库。我意识到这个共享库在其默认设置中运行多线程。我把它设为单线程,然后在两个系统中都能正常工作。

票数 0
EN

Stack Overflow用户

发布于 2012-05-14 13:30:50

为什么用户时间很长?

如果你有两个核心,两个都在用户模式下运行1分钟,你得到2用户分钟。

这表明您的代码在多线程上表现不佳。比如忙着等待锁争用,或者缓存争用可能是原因。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10584205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档