【发布时间】:2013-10-09 10:12:04
【问题描述】:
假设性问题。
我写了1个多线程代码,用来组成8个线程,在不同的线程上处理数据,完成这个过程。我也在代码中使用信号量。但它给了我在不同机器上不同的执行时间。 这是显而易见的!!
相同代码的执行时间:
在 Intel(R) Core(TM) i3 CPU 机器上:36 秒
在 AMD FX(tm)-8350 八核处理器机器上:32 秒
在 Intel(R) Core(TM) i5-2400 CPU 机器上:16.5 秒
所以,我的问题是,
是否有任何我缺少的设置/变量/命令/开关可以在较高的机器上启用但在较低的机器上没有启用,这使得更高的机器执行时间更快?或者,只是处理器,因此有时间差。
任何类型的帮助/建议/cmets 都会有所帮助。
操作系统:Linux (Centos5)
【问题讨论】:
-
很明显,它困扰你很多。
-
是的。有点儿。 @LihO,实际上我很久以前就读过一些关于某种线程启用或设置或操作系统中的某些东西的内容。我只是想确保我没有遗漏任何东西。
-
如何衡量执行时间?
-
使用 gettimeofday sys/time.h @MYMNeo
-
@Vishwadeep:别把我的评论看得太认真。这本来是一个关于你强调“明显”这个词的方式的笑话:)
标签: c multithreading semaphore