写点什么

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

  • 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:101497

评论

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

梧桐树上凤凰来:“伙伴+华为”体系的建成与强化

脑极体

数智化转型

Github每日热榜2024.03.17

天马行空的大杂烩

程序员 最新 开源软件

[目标检测]基于YOLOV8的自定义数据集实现水印检测

alexgaoyh

yolov8 ultralytics 自定义数据集 水印识别 模型训练/测试

Datawhale 零基础入门数据挖掘-Task1 赛题理解

阿里云天池

阿里云

2023 亚马逊云科技 re:Invent 大会探秘:Aurora 无限数据库的突破性应用

亚马逊云科技 (Amazon Web Services)

云计算

鸿蒙x昇腾云:华为打造智能时代最佳AI基础设施

华为云开发者联盟

鸿蒙 华为云 华为云开发者联盟 AI基础设施 昇腾云

华为联合伙伴发布公共数据授权运营方案,助力云上点数成金

华为云开发者联盟

云计算 华为云 华为云开发者联盟

注入js编程应该知道的一些基础知识,以防混淆造成的错误

Geek_ee6d52

「全栈低代码」时代开启,页面开发/数据处理/复杂逻辑,统统一站搞定!

优秀

低代码 全栈低代码

Python实践:基于Matplotlib实现某产品全年销量数据可视化

华为云开发者联盟

Python 后端 开发 华为云 华为云开发者联盟

使用 Gateway API 在命名空间之间发送流量

Gingxing

kong API网关 kong-plugin Kong 网关 Kong Gateway

关于云交互与实时的云渲染技术

3DCAT实时渲染

实时云渲染 云交互

iot的10种常见协议,特点,组网模式及其使用场景

了了

IoT 技术选型 组网

在 Windows 上利用Qwen大模型搭建一个 ChatGPT 式的问答小助手

Hunter熊

大模型 cuda Qwen Torch

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