首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Linux 7 (VM) C++执行速度

Linux 7 (VM) C++执行速度
EN

Stack Overflow用户
提问于 2015-06-30 15:53:51
回答 1查看 212关注 0票数 1

我用dlib用C++编写了一个简单的机器学习程序。在我编写和测试的机器上,一台带有1.6个GHz Atom处理器的ASUS运行Kali,并通过cmake与g++一起编译,它在2分钟内从头到尾运行。然而,在运行在带有2.3 GHz核心i7的Macbook Pro上的Windows7VM(在Windows7VM中)中,与VS 2013编译的代码完全相同,运行时间为2个小时。我正在研究一种在代码中实现多线程的方法,以利用我分配给VM的4个vCPU,但是性能上的差异是极端的,我还无法找出原因。即使考虑到虚拟化的性能开销,我也希望VM更快.我觉得我可能漏掉了一些明显的东西。如何使VM中的执行速度至少与Linux机器持平?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-30 16:06:55

如果没有看到源代码和分析,很难说(如果不是不可能的话),有许多可能的原因。

1) VM检测上的窗口在某种程度上运行缓慢(因为有VM),因此为了保持响应,它减少了代码的执行(理论上加快它的一种方法是添加一个循环,定期采样用户输入,调度程序倾向于给需要交互的进程提供更多的执行时间)

2) VS生成了调试/配置文件符号,如果我记得正确的话,这是默认的,并且会增加巨大的开销(然后尝试构建版本)。

3)间接费用已经正确。如果我还记得在我的机器上正确启动Eclipse需要大约10秒,但是在VM (相同的PC)上需要3/4分钟(大约我认为它在2分钟到几个小时之间有相似的比率)。

4)可能还有其他瓶颈(如带带使用)

5)您不知道VM在内部究竟是如何工作的(但您可以在这两台机器上为各种情况进行基准测试,并查看在哪里发现异常)

6)好奇存在VM更快的情况(我记得有人注意到,WinE上运行的代码比在Windows上运行的要快,因为WinE使用的是更快的fmod实现)

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

https://stackoverflow.com/questions/31142969

复制
相关文章

相似问题

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