加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

增加C程序CPU使用率

发布时间:2020-12-16 10:19:29 所属栏目:百科 来源:网络整理
导读:我有一个用C编写的程序,它每秒运行一些for循环,而不使用任何会让它等待任何原因的东西.它始终使用2-10%的CPU.有没有办法强制它使用更多的CPU并进行更多的计算而不会使程序更复杂?另外,我在 Windows计算机上使用C :: B进行编译.从本质上讲,我问是否有办法通
我有一个用C编写的程序,它每秒运行一些for循环,而不使用任何会让它等待任何原因的东西.它始终使用2-10%的CPU.有没有办法强制它使用更多的CPU并进行更多的计算而不会使程序更复杂?另外,我在 Windows计算机上使用C :: B进行编译.从本质上讲,我问是否有办法通过增加CPU的使用率来提高程序的速度,如果是的话,如何实现.

解决方法

假设您的应用程序具有权限(PROCESS_SET_INFORMATION访问权限),您可以使用 SetPriorityClass来提升您的优先级(当然,通常会损害所有其他进程).

你可以去ABOVE_NORMAL_PRIORITY_CLASS(首先尝试这个),HIGH_PRIORITY_CLASS(非常小心这一个)或REALTIME_PRIORITY_CLASS(我强烈建议你可能不应该给这个一个).

如果你尝试更高的优先级并且它的时间仍然非常低,那么这可能是因为你没有受CPU限制(例如,如果你将数据写入输出文件).如果是这种情况,你可能必须找到一种让自己受CPU约束的方法.

请记住,这样做可能没有必要(甚至可取).如果你的运行优先级高于其他线程,而你仍然没有吸收大量的CPU,那可能是因为Windows(很可能是理所当然地)决定你不需要它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读