1.

windows上的sleep最小间隔可以精确到1ms,但是linux上sleep函数需要注意几个地方:

1,usleep(int microseconds)是旧式API,虽然参数是微妙,但是在linux系统上如果间隔低于10毫秒,死循环的CPU占用率仍然很高,如果要用usleep,间隔最小值必须设置为10ms,10000微妙。windows上不存在这种问题,只要sleep的间隔有1ms,死循环CPU占用率很低。

2,kernel 2.0之后才提供了一个新版API:nanosleep(int microseconds),这个API才可以将间隔时间控制在微秒级。

参考

http://tldp.org/HOWTO/IO-Port-Programming-4.html

2.

nanosleep的取值限制问题可能导致cpu过高,可参考

https://blog.csdn.net/s_ddwqwd/article/details/82788838

3.

ps -eLo pid,lwp,pcpu |grep pid

配合pstack查找性能问题比较方便

4.

std sleep_for 和 usleep对比,测试结果:

 1 67 usleep2 74 sleep_for3 62 usleep4 61 sleep_for5 60 usleep6 60 sleep_for7 60 usleep8 60 sleep_for9 61 usleep10 60 sleep_for11 62 usleep12 60 sleep_for13 60 usleep14 60 sleep_for15 60 usleep16 60 sleep_for17 60 usleep18 61 sleep_for19 61 usleep20 60 sleep_for

std::this_thread::sleep_for(std::chrono::microseconds(5));

usleep(5);

 25   for (int i = 0; i < 10; i++){26 27     gettimeofday(&tv,&tz);28     int64_t v = tv.tv_sec * 1000000 + tv.tv_usec;29 30     usleep(5);31 32     gettimeofday(&tv1,&tz1);33     int64_t v1 = tv1.tv_sec * 1000000 + tv1.tv_usec;34     cout << v1 - v << " usleep" << endl;35 36   }

没什么大的差异,cpu占用上,sleep_for线程偏高,高于1-几倍吧,稳定性差,具体原因待分析

cpu性能以及nanosleep相关推荐

  1. 20线程测试cpu性能软件,CPU常用跑分软件 你知道那些?

    跑分测试是检测硬件性能的重要手段,但毕竟需要专业测试软件,很多小伙伴对于测试软件一头雾水,不知道有哪些测试软件,本次笔者就给大家科普一下CPU测试中常用的测试软件,帮助大家更好的了解自己电脑的性能. ...

  2. windows CPU性能监控命令

    windows CPU性能监控命令 分别为用户CPU时间  系统CPU时间   总CPU时间 typeperf "\Processor(_Total)\% User Time" & ...

  3. 如何最大化利用CPU性能创作沉浸式VR体验

    -- 本文来自英特尔游戏开发部门的 Justin Link -- 在三年多的时间,我有幸负责管理一家名为Chronosapien的工作室,而我们主要是通过新兴技术组件来创建交互式内容.我们涉足了大量不 ...

  4. cpu性能排名学习笔记

    笔记本cpu性能天梯图: https://www.zhihu.com/question/411017637/answer/1759530444 笔记本cpu性能天梯图2: https://zhuanl ...

  5. CPU缓存与CPU性能的关系

    说到CPU,不得不说的就是CPU缓存,目前CPU的缓存已经成了衡量CPU性能的一个必要指标,那么CPU缓存到底对CPU性能的影响有多大呢? 我们知道,CPU执行指令时,会将执行结果放在一个叫" ...

  6. AIX系统CPU性能评估-1

    作者:Peak Wong出处:IT专家网2008-05-08 17:21 本文对cpu性能的命令作了详细介绍,并给出了对于系统cpu监控的建议. 1.vmstat 使用vmstat来进行性能评估,该命 ...

  7. AMD Cpu 性能分析

    未完待续... 首先,几款APU系列的cpu: A8-7410: 一款低功耗的移动版处理器,四核心主频最高2.5GHz,二级缓存2MB, 图形核心Radeon R5 内存频率DDR3-1866,热设计 ...

  8. 12 | 套路篇:CPU 性能优化的几个思路

    上一节我们一起回顾了常见的 CPU 性能指标,梳理了核心的 CPU 性能观测工具,最后还总结了快速分 析 CPU 性能问题的思路.虽然 CPU 的性能指标很多,相应的性能分析工具也很多,但理解了各种指 ...

  9. Raspberry Pi 3 计算模块,CPU性能提高了十倍

    树莓派(Raspberry Pi)正式推出全新一代计算模块(Compute Module 3,以下简称CM3),与树莓派3采用的是同款处理器. Raspberry Pi 3 计算模块与树莓派3一样搭载 ...

最新文章

  1. 探讨 | 目前SLAM存在的问题
  2. .net中close和dispose及关闭流操作
  3. 快排,归并和Shell排序
  4. Java编程中写出好代码的建议(转发)
  5. ORA-01919: role 'OLAPI_TRACE_USER' does not exist
  6. (195)FPGA上电后IO的默认状态(ISE软件默认为1)
  7. css3 js 做一个旋转音乐播放开关
  8. matlab中的uigetfile函数和setappdata函数
  9. ASME Y14.5 2018重要更新
  10. 开机广告页面2017流行样式 dialogTheme的popuwindow版本
  11. 谨以此文,献给我的大学四年—双非本科到双一流985的成长之路
  12. 光模块单模和多模的区别
  13. 微信公众号服务器搭建
  14. The Generalized Detection Method for the Dim Small Targets by Faster R-CNN Integrated with GAN 论文翻译
  15. 运行日志Log文件c++实现
  16. 速卖通教你如何提升店铺转化率——测评补单
  17. 搬运收藏-Android各种库
  18. react+antd解决报错:Module not found: Can't resolve 'antd/es/affix'
  19. 中文文件如何翻译为英文
  20. HTML下拉框选择事件

热门文章

  1. 【ML】numpy meshgrid函数使用说明(全网最简单版)
  2. 线程池ThreadPool中QueueUserWorkItem的使用
  3. 绿色环保又节能,软件开发居然也可以
  4. suse服务器修改ip,SuSE Linux 修改网卡配置 |SUSE Linux 单网卡配置双IP
  5. 人人都可直播带货,即构科技携手万商之家打造低门槛直播服务平台
  6. 北京地铁,2号线换乘13号线,用时最短换乘线路
  7. 无意中发现看书也是一种美
  8. uniapp微信js-sdk使用封装
  9. python中的clamp 函数
  10. 图算法(二十五):子图匹配(Subgraph Matching)【基本的图查询操作,意在发掘图重要的子结构】【适用场景:社交网络分析、群体发现、异常检测】【在一个给定的大图里找到与给定小图同构的子图】