写点什么

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

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

评论

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

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之数据库逆向(十二)

crudapi

Vue crud crudapi quasar 数据库逆向

Java并发编程(实战(1),真香警告

Java 程序员 面试 后端

oeasy教您玩转vim - 6 - # 保存修改

o

带你读AI论文:SDMG-R结构化提取—无限版式小票场景应用

华为云开发者联盟

语义 多模态 推理模型 SDMG-R 检测文本

oeasy教您玩转vim - 4 - # 深入帮助

o

elaticsearch kibana介绍与安装

Rubble

kubernetes入门:使用kubeadm搭建node,楼主亲测

小鲍侃java

8月日更

oeasy教您玩转vim - 5 - # 插入模式

o

Vue进阶(十):NPM 管理 node.js 依赖

No Silver Bullet

Vue npm nodejs 8月日更

Java多线程入门篇,GitHub标星1w的Java架构师必备技能

Java 程序员 面试 后端

Druid 集群方式部署 —— 从独立服务器部署上合并到集群的硬件配置

HoneyMoose

10 分钟从 HTTP 切换到 HTTPS,保证个人博客安全性!

沉默王二

个人博客

让数据库从业者用实力对美国说不!

博文视点Broadview

Fil值得投资吗?Ipfs未来价值一万一枚?

区块链 分布式存储 IPFS fil

Druid 集群方式部署 —— 选择硬件

HoneyMoose

十大排序算法--快速排序

Ayue、

排序算法 8月日更

JAVA学习(3,黑马Java全套百度云

Java 程序员 面试 后端

Go与Redis连接池的那些事儿~

Regan Yue

redis Go 语言 8月日更

Swift 实现获取、展示 Mac 的 WiFi 密码

fuyoufang

ios swift SwiftUI Mac 软件 8月日更

【Flutter 专题】76 图解基本 TabBar 标签导航栏 (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

DAPP智能合约系统源码开发

获客I3O6O643Z97

智能合约 DAPP智能合约交易系统开发

Pangaea AI 智能机器人炒币系统开发

获客I3O6O643Z97

量化策略 量化跟单 量化机器人

Java已死,有事烧纸,字节跳动历年校招Java面试真题解析

Java 程序员 面试 后端

netty系列之:netty中的Channel详解

程序那些事

Java Netty nio channel 程序那些事

Druid 集群方式部署 —— 操作系统和发行版本

HoneyMoose

手撸二叉树之路径总和

HelloWorld杰少

数据结构与算法 8月日更

【LeetCode】三数之和Java题解

Albert

算法 LeetCode 8月日更

增强自动化测试的8大技巧

禅道项目管理

测试 自动化测试

巨头纷纷布局分布式云,一场新的云战争即将打响

云计算

java学习-数据类型和运算符,Java社招面经分享

Java 程序员 面试 后端

Java学习路线图(如何快速学Java,Java算法题面试

Java 程序员 面试 后端

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