我正在通过boost库对使用多个线程的方法执行调用。我这样做了很多性能提升。我最近在方法中引入了线性回归计算,并且每个线程都有严重的性能损失。
例如,如果我运行单个线程,则平均方法调用需要2秒。如果我使用两个线程,我会注册两倍的CPU活动,但平均方法调用需要5-6秒。当我增加线程时,这会继续。没有已知的竞争条件或(我认为)重要的共享记忆。
似乎所有线程都在使用某些缓存或其他CPU硬件功能,成为瓶颈。但我对CPU体系结构的了解还不够。我正在运行Intel Xeon 25-2620 CPU。
迫切需要帮助。