cpu密集型计算咋破?

1. 换更新更快的CPU。2. 做profiling,找出 hot spot。看看有无优化的余地。3. 把代码和数据贴出来,让大家帮你优化。
■网友
假定并行逻辑是正确的:1. 可以做个profiling测一下同步开销。如果同步的开销太大,可以看看哪些数据结构没有优化,尽量做成lock-free试试;2. 并行overhead很小,那就看看每个线程做的工作里面带不带大量条件判断?不带的话直接offload到显卡上去,用CUDA或者OpenGL,开它几万个线程去弄;3. 买更多的机器组cluster,分割数据分别处理。能用钱解决的问题都不是问题。
■网友
问题很简单了,而且 @陈硕也回答了:【2. 做profiling,找出 hot spot。看看有无优化的余地。】基本上就是:1.代码是否因为bug而导致性能低?2.如果不是,则看看能否极限利用单机硬件来提升性能?比如单线程业务流程改成多线程来合理利用多核资源。3.如果不行,则把最占用CPU的代码做出分布式服务来负载均衡,并且购买相应配置的机器。
■网友
确定不是多线程同步问题?


    推荐阅读