单机多进程做密集型科学计算靠谱吗?能节省时间吗…刚测试了下 ,发现并没用多大提升

1个CPU、4个核intel超线程技术,可看到8个核,但我只开4个进程,每个进程负责整个任务的四分之一的计算任务和单个进程,跑起来的效率怎么差不多呢?
梵蒂冈之花
浏览 455回答 2
2回答

拉风的咖菲猫

先给个公式吧。所需线程数=CPU可用核心数/(1-阻塞系数)其中计算密集型阻塞系数趋向于0,IO密集趋向于1。具体需要通过实验来确定。所以,你现在这种情况。所需线程数=8/(1-0)=8,应该用8个线程来试试。而你这里只用了4个,虽然如此,性能还是应该比单线程要好,因为毕竟由4个核在分担计算量。但是,你却发现没有多大区别,我只能认为,你没有书写正确的多线程逻辑,造成名义上是多线程,实际上是串行的情况。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript