写点什么

多核处理器真的能提升软件系统性能吗?

  • 2007-04-24
  • 本文字数:567 字

    阅读完需:约 2 分钟

Larry O’Brien 对关于多核处理器和适应它的语言一定能带来性能提升的假设提出质疑

原理很简单。没有边际效应(side effect)的函数式编程基本上将自己交给了并行(译者注:意思是最适合并行的技术)。比较有意思的是 Map 函数,在 Map 里函数被应用到数组里的每一个元素。

一些乐观人士看到这儿的时候,说“哈哈,编译器可以轻松地将那些计算分发到一个线程池,在一个有多核的机器上会有性能优势。”确实如此,如果函数非常长或者数组非常大的话。否则,通过多核 / 多处理器分发计算的开销会比在一个核里执行 Map 要大的多。最糟糕的情况是,当函数和数据已经在原核的缓存中时,分发它的性能会非常低效。

从历史上来比较说明,Larry 提到 C/C++ 的内联关键字(inline keyword)。他说在大多数情况下,内联关键字是一个灾难。“绝大多数开发人员在考虑内联关键字给他们带来的好处时,做的很糟糕。因为,仅作为分发用时,Map 会是反生产力的,内联的代码会降低效率(现代处理器的芯片缓存使得代码的大小和位置对性能而言是非常重要的)”

  • 那些声称每一个调用都会被分发的语言,它们有足够的能力去克服并行带来的性能问题吗?
  • 在并行发生的时候,程序员所要使用的语言在主流程序员的手中会像内联一样,成为一场灾难吗?
  • 会有一个混合的方法同时解决这两个问题吗?

查阅英文原文: Automatic Parallel Processing, Will It Work?

2007-04-24 08:101487

评论

发布
暂无评论
发现更多内容

week05 作业

Safufu

【架构师训练营】week 5 homework

eazonshaw

极客大学架构师训练营

作业 - 第5周

Happy-Coming

架构师训练营 No.5 周作业

连增申

架构师训练营 第五周 分布式理论知识分享1

极客

架构师训练营第 0 期第5周作业

无名氏

架构师训练营 第五周 【作业】

小K

架构师训练营 第五周 作业

亮灯

一致性HASH的golang实现

麻辣

架构师训练营 第五周 学习总结

亮灯

架构课第5课作业

张瑞浩

2020-07-04-第五周作业

路易斯李李李

week05学习总结

Safufu

管理堆内存,Rust是怎么做的?所有权!

袁承兴

c++ rust 堆内存管理 内存管理 垃圾回收

第五周感悟

路人

极客大学架构师训练营

week5-作业 一致性 hash 算法

Geek_z9dmvw

Week 05 作业

鱼_XueTr

负载均衡 hash

一致性Hash算法实现 - Java

羽球

极客大学架构师训练营 一致性哈希

架构师训练营 No.5 周总结

连增申

缓存、异步、集群和分布式等架构模式的实践

dony.zhang

负载均衡 缓存 消息队列 分布式缓存 异步

架构师训练营作业 (第五周)

小遵

架构师训练营 - 第五周 - 学习总结

Anrika

极客大学架构师训练营

常用分布式组件

张瑞浩

架构师训练 第五周 作业

LiJun

一致性Hash算法

羽球

一致性hash

分布式缓存架构

chenzt

架构师训练营 - 学习笔记 - 第五周

小遵

【架构师训练营】第 5 周总结

花生无翼

极客大学架构师训练营

week5-作业

蒜泥精英

区块链重塑供应链

CECBC

架构师训练营week05 summary

Nick

极客大学架构师训练营

多核处理器真的能提升软件系统性能吗?_.NET_Jonathan Allen_InfoQ精选文章