最近程序遇到一个框架不合理的问题,但我们对性能又有一定的要求。东西也急着发版,重构是来不及了,因为这个项目就 2 个开发。更何况另外一个哥们客户端这块的技能成长稍慢,代码风格和部分代码质量较差的开源代码有得一拼。
目前要在短期内提高性能的唯一做法,把重任务(负载过高的任务)进行并行化。最简单就是按照 vpu 数量开线程,问题一个一塌糊涂的框架下面多线程只会带来更复杂的问题(内存写穿、死锁等等)。
所以我就看到了 openmp ,用上网简单的例子跑了一下看貌似挺不错的( vs 2010 ,打开 openmp 编译)。但模仿到我们分拆的任务中似乎就不起效了(只要我一在临时变量上加一个“短锁”,不是“长锁”,并行化就失败)。
所以想请推荐一下关于 openmp 方便的并行化编程的书,最好是带有一定的原理说明的,非完全应用手册。目标语言是 c++,编译平台 vs 或 gcc
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/337582
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.