2 gaotihong gaotihong 于 2015.07.28 11:40 提问

VS编写的GMM函数,效率问题 5C

问一下,大家运行OPENcv时, 效率怎么样?主要是CPU和内存的占有量。
我近期在window平台上,运行一个GMM程序,(是公司提供的库函数,我只是进行简单的调用),CPU占用25%,内存占用11.136K。
请问一下:
1.通常怎么优化代码么,可以从哪些角度入手?
2.怎么评估代码的好坏?
我的机器:处理器:Intel(R) Core(TM) i3-4160 CPU@3.6GHZ,
内存:4.00GB(3.87GB可用)
系统:64位操作系统(window7)

2个回答

devmiao
devmiao   Ds   Rxr 2015.07.28 11:43

cpu占25说明程序没有充分利用多核并行计算

devmiao
devmiao 回复gaotihong: 是的,你用了25%,而你的计算机有4个逻辑处理器(双核),大约只发挥了40%的性能。
2 年多之前 回复
gaotihong
gaotihong 问一下:1.多核意思是多线程编程?2.当多线程编程后,CPU的占用量不是应该增加么?3.在程序执行时,是CPU占有量越大越好么,程序不会卡么?
2 年多之前 回复
gaotihong
gaotihong 问一下:
2 年多之前 回复
oyljerry
oyljerry   Ds   Rxr 2015.07.28 12:29

如果想充分利用多核CPU,你可以开多线程,或者多进程来跑你的程序,比如运行你的程序实例4-8个,这样来充分挖掘CPU的性能。

gaotihong
gaotihong 回复oyljerry: 哦,暂时明白了!谢谢
2 年多之前 回复
oyljerry
oyljerry 回复gaotihong: 多核就是说充分来发挥CPU的能力,CPU高,说明使用率高。当然还要看你的代码是否有bug,有死循环等。CPU也不能无限制高,太高了,其他程序就得不到处理。
2 年多之前 回复
gaotihong
gaotihong 问一下:1.多核意思是多线程编程?2.当多线程编程后,CPU的占用量不是应该增加么?3.在程序执行时,是CPU占有量越大越好么,程序不会卡么?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片