1
1
在你实施之前,很难衡量一个改进。会有一些有教育意义的猜测。 我想,这家公司已经确定,这个应用程序/网站速度慢,而且成本高。我还假设您已经排除了其他明显的性能改进(数据库往返、缓存、Web前端负载等,而不了解您的应用程序)。 我的第一步是在所讨论的慢代码周围添加几行秒表代码,并在实时环境中记录超过几千个操作的响应时间。将您看到的平均数字与您希望达到的响应时间进行比较。 然后在同一代码上运行一个代码分析工具(例如.NET的dottrace),以查看代码的大部分时间都花在哪里。将在可并行代码中花费的时间百分比应用于秒表的平均时间,您将对是否可以更快地进行了解。显然,这不是用核心数除以这个数字的情况,因为存在同步开销,而且在现实世界中还将运行其他任务。但这应该给你一个 足够接近 估计是否可行。 |
2
1
在Visual Studio 2010 Ultimate中,有一个并发可视化工具,它将向您展示应用程序正在使用的内核数量(以及CPU的数量),以及同步时浪费的内核数量。其余的都是有益的工作。 我相信英特尔提供了一个非常相似的工具,但我不完全确定它是如何工作的。 |
KhaledWas · 单核处理器的多线程代码和多核处理器的单线程代码 8 年前 |
SMSk · 限制核心用途PyCharm 9 年前 |
Gaurang Tandon · 在多核计算机上查找执行时间 11 年前 |