写点什么

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

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

评论

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

【技术深度】CSP_WHITELIST:精细化控制Web安全的新策略

风雪中漫步

Easysearch Java SDK 2.0.x 使用指南(三)

极限实验室

sdk client easysearch

PyTorch中运行时间的测量与对比

王玉川

gpu 性能优化 算子 测量

三面滴滴失败,总结了Java面试题,有几个题还是一直搞不懂

Summer

Java 程序员 面试 架构师 大厂

金三银四跳槽涨薪Java面试题!568页真题+答案解析,大厂都在考

Summer

Java 程序员 面试 架构师 大厂

《计算机组成及汇编语言原理》阅读笔记:p200-p240

codists

Java 计算机组成及汇编语言原理

2025-01-04:不包含相邻元素的子序列的最大和。用go语言,给定一个整数数组 nums 和一个由二维数组 queries 组成的查询列表,其中每个查询的格式为 queries[i] = [pos

福大大架构师每日一题

福大大架构师每日一题

周亚辉投资笔记:机器人时代的社会结构模型与十年后中国首富预测

脑极体

AI

VMware ESXi 8.0U3c macOS Unlocker & OEM BIOS 标准版和厂商定制版,已适配主流品牌服务器

sysin

esxi

一颗光谱芯片的AI辉光

脑极体

AI

小小的我,大大的AI

脑极体

AI

LED显示屏能耗与运营成本解析

Dylan

经济 LED显示屏 全彩LED显示屏 技术 优化体系

大模型推理GPT | DeepSeek | Doubao

AIGC.TWang

AIGC GPT 豆包 DeepSeek

具身智能陪伴机器人赛道,迎来一波融资潮和创业潮!

机器人头条

机器人 科技 人形机器人 具身智能

虾皮店铺商品API接口的开发、运用与收益

科普小能手

数据挖掘 数据分析 跨境电商 API接口 虾皮API接口

数据平台产品经理入门手册-合集

数据小吏

大数据平台 #数据产品经理

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