我正在使用Windows 8上的Codeblocks IDE在C中设计一个处理器密集型程序。我假设默认情况下,由于我的代码未经优化,我运行它的那一刻,它只能在我的1核上运行处理器,让其他3个核心空闲。
我的假设是否正确?如果是的话,使用像OpenMP这样的东西来优化我的代码会让它运行得更快吗?我正在处理数据集列表,每个数据集独立于另一个。他们之间没有可靠性。
答案 0 :(得分:1)
是的,默认情况下,您的代码只能在一个核心上运行。
如果线程之间的可靠性较低,那么运行OpenMP之类的代码应该会使代码运行得更快。更快的速度取决于您可以并行化多少代码。