![]() |
1
1
您正遇到这样一种情况:性能完全取决于调度程序的操作方式。在3中,当系统中的任何其他进程需要一段时间(甚至一点点)时,它将挂起4个线程中的一个。如果该线程在挂起时没有保持锁,那么它的“对”现在可以无条件运行,并将取得很大的进展(与有争议的情况相比,以20倍的速度运行)。 当然,如果它在持有锁时被换出,那么它的“对”将不会有任何进展。所以您有两个相互竞争的因素,并且整个运行时取决于线程持有锁的时间比例和您在每种情况下得到的惩罚/奖励。你的奖金很可观,所以我希望能像你看到的那样全面加速。 |
![]() |
2
1
最有可能的情况是,无论存在多少线程,都存在一定的固定开销,例如垃圾收集或其他资源管理。 |
![]() |
Sweepy Dodo · JSON lite的格式化 8 月前 |
![]() |
giantjenga · 优化整数向量到二进制向量的转换 9 月前 |
![]() |
Zegarek · Postgresql递归查询未提供预期结果 10 月前 |
![]() |
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
![]() |
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |