首页 / LINUX / 减少Linux上的性能差异
减少Linux上的性能差异
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了减少Linux上的性能差异,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1213字,纯文字阅读大概需要2分钟。
内容图文
![减少Linux上的性能差异](/upload/InfoBanner/zyjiaocheng/947/8c13f466412c4179bfd8e9bcb5bd9c6e.jpg)
我正在尝试对在基于Linux的Intel Pentium上运行的软件进行基准测试.问题是,当使用RDTSC指令时,我在连续的测试运行期间会出现相当大的性能差异.完全相同的软件运行时间在500万到1000万个时钟周期之间变化,因此在最坏的情况下,我的开销为100%.我知道缓存争用会导致性能变化,但是,是否有办法消除其他潜在问题,例如中断,其他进程等?
非常感谢您如何正确执行此操作的任何有用提示.
非常感谢,
肯尼
解决方法:
此一般领域中的常见问题是:
>多CPU /多核系统中的进程迁移
> RDTSC在多CPU /多核系统中的各个核之间不一致
>其他占用CPU时间的进程(也包括中断,I / O,屏幕活动等)
>自动CPU时钟频率缩放
> VM页面故障等
解决方案:
>如果您正在多CPU /多核系统上运行单线程进程,请使用CPU关联性将进程锁定到特定的内核. (从命令行使用任务集,或从代码内调用sched_setaffinity().)
>确保没有其他占用CPU时间的进程,禁用屏幕保护程序或其他桌面动画,并确保代码运行时没有屏幕更新.也不要使用例如在代码计时过程中,将printf打印到GUI控制台窗口-保存所有结果输出,直到收集完最后一个时间戳记为止. (如果可能,您甚至可以考虑完全杀死GUI.)
>使用比RDTSC更可靠的计时方法(我通常在Linux上使用clock_gettime(CLOCK_PROCESS_CPUTIME_ID,…).
>禁用自动时钟频率缩放(例如Linux:cpufreq-set)
>循环运行您的代码,例如重复N次,最好对任何大型数据结构重新使用相同的内存分配(以摆脱VM页面错误等的影响).忽略第一个测量并平均其余N-1个测量.
内容总结
以上是互联网集市为您收集整理的减少Linux上的性能差异全部内容,希望文章能够帮你解决减少Linux上的性能差异所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。