10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

评论

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

Bartender 5 for mac(菜单栏图标管理软件)v5.2.7中/英激活版

Rose

AI口语练习的场景模拟

北京木奇移动技术有限公司

软件外包公司 AI口语练习 AI英语学习

智慧菜场系统(源码+文档+部署+讲解)

深圳亥时科技

微帧科技携手行业精英,共编《移动场景扩展现实超高清技术白皮书》

微帧Visionular

区块链智能合约的安全性

北京木奇移动技术有限公司

智能合约 区块链技术 软件外包公司

Svelte 最新中文文档翻译(3)—— 符文(Runes)上

冴羽

vue.js 前端 React Svelte SvelteKit

Svelte 最新中文文档翻译(4)—— 符文(Runes)下

冴羽

Vue 前端 React Svelte SvelteKit

新客户 | 时序数据库TDengine 携手新疆油田,让油气生产更高效

TDengine

tdengine 时序数据库

AI赋能职场:提升效率还是加剧竞争?

天津汇柏科技有限公司

AI 人工智能

如何迅速并识别处理MDL锁阻塞问题

华为云开发者联盟

MySQL 华为云 GaussDB mdl TaurusDB

数字水印系统(源码+文档+部署+讲解)

深圳亥时科技

碳课堂|氢能--双碳目标下的未来能源之星

AMT企源

碳中和 新能源 碳管理 氢能

时序数据库 TDengine 与上海电气工业互联网平台完成兼容性认证

TDengine

tdengine 时序数据库

京东 API 接口调用失败的常见原因及解决方法

科普小能手

数据挖掘 数据分析 电商 京东 API 接口

如何测量stp/step/prt等三维图纸?

在路上

cad cad看图 三维看图

牛牛剧场APP:小程序短剧投资引领创业新潮流

新消费日报

文档图像矫正任务的前沿进展:引入Transformer框架、极坐标的思路

合合技术团队

图像识别 系统图像畸变、校准和矫正 #人工智能 #算法 文档解析

2025-01-22:使二进制数组全部等于 1 的最少操作次数Ⅱ。用go语言,给定一个二进制数组 nums,你可以对数组进行以下操作任意次(包括0次): 选择任何一个下标 i,并将从该下标开始到数组末

福大大架构师每日一题

福大大架构师每日一题

经典音频效果器合集:FabFilter Total Bundle 2019 mac破解版

Rose

课程实录 | Ingress Controller 与 Master 的通讯机制

NGINX开源社区

Kubernetes k8s 学习资料 NGINX Ingress Controller kubernetes 运维

写代码的时候应该靠感觉还是靠理性

rubys_

EloqKV作为高性能缓存数据库的优势

晨章数据

数据库 分布式 dragonfly NoSQL 数据库

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