写点什么

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

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

评论

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

5G边缘计算:开源架起5G MEC生态发展新通路

华为云开发者联盟

开源 5G 边缘计算 公有云 EdgeGallery

比特币挖矿到底挖的是什么?

CECBC

比特币 区块链 数字货币

图解Node(上)——直击灵魂的十条拷问

执鸢者

大前端 原理 Node

程序的机器级表示-控制

引花眠

计算机基础

LeetCode 5. Longest Palindromic Substring

liu_liu

算法 LeetCode

架构师训练营第十二周总结

张明森

Flink检查点、保存点及状态恢复-13

小知识点

scala 大数据 flink

SpringBoot+Tess4j实现牛逼的OCR识别工具

小隐乐乐

小小的分页引发的加班血案

架构师修行之路

架构

麦叔告诉你,Linux下安装nginx都踩了那些坑

麦洛

nginx Linux

pandas ~基础pandas

南辞

Python

雪花算法把玩

ElvinYang

oeasy教您玩转linux010109clear清屏

o

翻转链表算法、自动化测试框架robot-framework、两款iOS 在手机端debugging 工具Flex、啄木鸟、加密技术 高可用系统的度量 高可用系统的架构 高可用系统的运维 John 易筋 ARTS 打卡 Week 15

John(易筋)

ARTS 打卡计划 高可用系统的架构 翻转链表 自动化测试Robot 手机调试工具Flex

软件产品的创新与宇宙奇点大爆炸

常平

方法论 产品思维 架构思维

Ray 分布式计算框架详解

lipi

分布式 数据湖 pandas Apache Arrow

大事情!中国限制 AI 算法出口。网友:这是要阻止XX“下跪”

程序员生活志

Docker 镜像的备份恢复迁移

哈喽沃德先生

Docker 容器 微服务 镜像

JVM的早期优化与晚期优化

Edison

JVM JVM虚拟机原理

【持续更新~】常遗忘却可以变更好的心态

01Running

个人成长

你真的懂 Java 的 main 方法吗

Rayjun

Java

【读书笔记一】《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》

Man

中台 阿里 中台战略

oeasy教您玩转linux010108到底哪个which

o

面经手册 · 第8篇《LinkedList插入速度比ArrayList快?你确定吗?》

小傅哥

Java 数据结构 面试 小傅哥 linkedlist

高并发系统三大利器之降级

root

k8s-client-go源码剖析(二)

远鹏

Kubernetes 源码剖析 Go 语言

30年技术积累,技术流RTC如何成为视频直播领域的黑马?

华为云开发者联盟

云计算 AI 5G RTC 华为云

ARTS打卡 第14周

引花眠

微服务 ARTS 打卡计划

ARTS Week14

时之虫

ARTS 打卡计划

架构师训练营第十二周作业

张明森

基于区块链的社会治理探索

CECBC

区块链 大数据 信息技术

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