社区
C++ 语言
帖子详情
程序在虚拟机跑计时
joyeewen
2011-09-01 01:00:17
大家好!
程序在虚拟机里面跑所用的时间,会不会比直接跑多?
例如:我的电脑装了XP,XP上运行虚拟机跑linux。请问算法A,在我的机器里的XP跑和在虚拟机里的linux跑,理论上所用的CPU时间是不是应该是相同的?
...全文
88
10
打赏
收藏
程序在虚拟机跑计时
大家好! 程序在虚拟机里面跑所用的时间,会不会比直接跑多? 例如:我的电脑装了XP,XP上运行虚拟机跑linux。请问算法A,在我的机器里的XP跑和在虚拟机里的linux跑,理论上所用的CPU时间是不是应该是相同的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wzb56
2011-09-01
打赏
举报
回复
mark!
jackyjkchen
2011-09-01
打赏
举报
回复
Vista之后的机器msvcr71也都自带了,这也是我用msvcr71的理由,运行库依赖太讨厌了
不过现在我不是以前那么喜欢折腾的时候了,现在开发基本上不再运行库上动手脚了
jackyjkchen
2011-09-01
打赏
举报
回复
VC6~VC9的运行库,总体来说速度表现最好的是VC71(VS2003)的,过去用mingw编译程序甚至用VS2008编译程序,只要不涉及MFC等框架,我尽量让程序依赖VC71的运行库,msvcr71我也不记得打过那个补丁后出现的,反正即便是XP,装满补丁的机器都有。
Windows XP自带的那个msvcrt.dll性能也很不错,这个准确来说不是VC6的crt(虽然名字上一样),应该叫做Windows NT Runtime Library,比VC6的新的多,但是它里面函数少,经常链接找不到符号
jackyjkchen
2011-09-01
打赏
举报
回复
[Quote=引用 5 楼 xunxun1982 的回复:]
引用 4 楼 jackyjkchen 的回复:
由于编译器和运行库实现的区别,同样的程序不同的操作系统速度也会不一样,甚至会出现虚拟机速度高于主机的情况(比如主机VC编译器的循环cout输出,虚拟机gcc编译的循环cout输出,gcc的cout比VC的要快一些)
还有这种情况?
gcc是windows下的么
cout不都是导到msvcrt里面嘛
[/Quote]
1.我是说linux下的gcc
2.即便是Windows,我测过msvcrt.dll的cout比msvcr90.dll的快……mingw不是提供了好几个运行库的lib么VC60、VC71、VC80、VC90的都有,VS2010有没有改善没试过
mhwer99
2011-09-01
打赏
举报
回复
不相同,虚拟机计时不准确,建议用数据库的时间
xunxun
2011-09-01
打赏
举报
回复
[Quote=引用 4 楼 jackyjkchen 的回复:]
由于编译器和运行库实现的区别,同样的程序不同的操作系统速度也会不一样,甚至会出现虚拟机速度高于主机的情况(比如主机VC编译器的循环cout输出,虚拟机gcc编译的循环cout输出,gcc的cout比VC的要快一些)
[/Quote]
还有这种情况?
gcc是windows下的么
cout不都是导到msvcrt里面嘛
jackyjkchen
2011-09-01
打赏
举报
回复
由于编译器和运行库实现的区别,同样的程序不同的操作系统速度也会不一样,甚至会出现虚拟机速度高于主机的情况(比如主机VC编译器的循环cout输出,虚拟机gcc编译的循环cout输出,gcc的cout比VC的要快一些)
jackyjkchen
2011-09-01
打赏
举报
回复
VMware、Hyper V这样的利用了x86硬件虚拟化指令的虚拟,开销比较小,虚拟机的CPU效率能达到主机的90%以上,那些ring3级的指令都是不经过翻译,直接跑在真实CPU上的。在这一类虚拟机无法跨架构,比如x86的主机只能虚拟x86。
那些虚拟+模拟结合的,比如Virtual PC,效率低于前者
而某些没有使用虚拟化技术而仅仅是模拟器的,兼容性最好,可以跨架构,但效率极低
另外要注意,虚拟机一般不支持高精度计时,计时不很准确
quwei197874
2011-09-01
打赏
举报
回复
理论上肯定不相同
xunxun
2011-09-01
打赏
举报
回复
和虚拟机的性能/程序的复杂度/电脑的好坏/实际情形有关
nodejs-certification:repository此存储库包含我为自己准备Nodej.js认证考试所做的示例-Application Developer(JSNAD)
我自己为Node.js认证做的准备 :graduation_cap: 该存储库包含我为自己准备Node.js认证考试-应用
程序
开发人员(JSNAD)所做的示例。 该内容不是来自OpenJS Foundation或Node.js的正式版本。 :bookmark: 描述 我已经在这个存储库中工作了几个月。 我想分享我为自己的准备工作而开发的OpenSource示例。 这些示例通过文件夹针对每个Node.js API进行组织。 :open_book: 特玛莉 文件系统HTTP HTTP / 2 HTTPS 检验员国际化模组网作业系统小路性能挂钩过程查询字串读线替换报告溪流
计时
器实用工具V8
虚拟机
工作线程Zlib :flexed_biceps: JSNAD域和能力 缓冲区和流– 11% Node.js缓冲区API的 增量处理 转换资料 连接流 控制流量– 12% 管理异步操作 控制流抽象 子进程– 8% 产生或执行子进程 子进程配置 诊断– 6% 调试Node.js 基
在未安装JAVA
虚拟机
的计算机运行JAVA
程序
在未安装JAVA
虚拟机
的计算机运行JAVA
程序
虚拟机
设计:从0构造8051
虚拟机
课程采用从0行代码编写的方法,通过一步步的开发,最终完成一个8051芯片的
虚拟机
。... 在课程的最后,该
虚拟机
将会被移植到ST公司的STM32芯片(ARM内核)上,从而实现类似JAVA
程序
的一次编译、多个平台运行的效果
用
虚拟机
搭建服务器
跑
分,个人评测 篇一:鱼与熊掌如何兼得-Parallels Desktop 16
虚拟机
告诉你...
个人评测 篇一:鱼与熊掌如何兼得-Parallels Desktop 16
虚拟机
告诉你2020-09-03 10:34:258点赞46收藏14评论#尾巴众测#关注数字尾巴快8年了,都是当观众 ,看到一个Parallels Desktop 16 for Mac的众测,作为一个喜欢折腾的人,也报名参与,居然后补中了。以前有在Linux下通过VMware和VBox
虚拟机
解决Linux不能很好支持Wind...
程序
是怎么
跑
起来的
指示计算机每一步动作的一组指令cpu是具有各种功能的寄存器的集合cpu中,
程序
计数器记录了指令的内存地址,
程序
通过
程序
计数器来控制流程。
程序
每次从
程序
计数器对应的内存地址中读取指令,通过cpu中的各种寄存器来记录
程序
执行时的临时状态、数据等来执行
程序
,最终计算完成后输出结果比如两个数字a、b相加,执行过程如下:1、
程序
计数器0100。从内存地址0100处读取指令:将内存地址0105的数字a保存到累加寄存器2、
程序
计数器0101。
C++ 语言
64,636
社区成员
250,540
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章