Larry O'Brien对关于多核处理器和适应它的语言一定能带来性能提升的假设提出质疑。

\

原理很简单。没有边际效应(side effect)的函数式编程基本上将自己交给了并行(译者注:意思是最适合并行的技术)。比较有意思的是Map函数,在Map里函数被应用到数组里的每一个元素。

\

\

一些乐观人士看到这儿的时候,说“哈哈,编译器可以轻松地将那些计算分发到一个线程池,在一个有多核的机器上会有性能优势。”确实如此,如果函数非常长或者数组非常大的话。否则,通过多核/多处理器分发计算的开销会比在一个核里执行Map要大的多。最糟糕的情况是,当函数和数据已经在原核的缓存中时,分发它的性能会非常低效。

\

\

从历史上来比较说明,Larry提到C/C++的内联关键字(inline keyword)。他说在大多数情况下,内联关键字是一个灾难。“绝大多数开发人员在考虑内联关键字给他们带来的好处时,做的很糟糕。因为,仅作为分发用时,Map会是反生产力的,内联的代码会降低效率(现代处理器的芯片缓存使得代码的大小和位置对性能而言是非常重要的)”

\

  • 那些声称每一个调用都会被分发的语言,它们有足够的能力去克服并行带来的性能问题吗? \
  • 在并行发生的时候,程序员所要使用的语言在主流程序员的手中会像内联一样,成为一场灾难吗? \
  • 会有一个混合的方法同时解决这两个问题吗?
    \

查阅英文原文:Automatic Parallel Processing, Will It Work?

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

  1. 基于多核处理器的RTOS多核扩展分析与研究

    本文是我写得一篇关于RTOS SMP扩展的硕士论文,希望对有志于了解RTOS-SMP工作机制的兄弟们提供些许帮助,O(∩_∩)O~. 一直以来人们通过提高主频来提升微处理器的性能,但是高功耗制约着主频 ...

  2. 多核处理器的关键技术

    英特尔的cpu是从前代gt-atom一路供货到第7代,想必日常使用不会有太大区别,而在系统之外可能存在一些散热方面的问题.而上市越早的处理器,硬件供货越好,可能在某些特殊时间段会出现不足,从而导致售后 ...

  3. 多核处理器9大关键技术

    与单核处理器相比,多核处理器在体系结构.软件.功耗和安全性设计等方面面临着巨大的挑战,但也蕴含着巨大的潜能. CMP和SMT一样,致力于发掘计算的粗粒度并行性.CMP可以看做是随着大规模集成电路技术的 ...

  4. 小米6发布会测试手机网速的软件,原来小米6上这个功能真的可以提升网速,你的行吗...

    原标题:原来小米6上这个功能真的可以提升网速,你的行吗 Hi 大家好呀,我是极果君~ 最近小米6发布了,不知道大家抢到了没有呢? 小米6的发布也带出了一个新概念:双路WIFI. 双路WIFI能不能提升 ...

  5. ARM V8A体系结构-第十四章 多核处理器

    概述 ARMv8-A体系结构为包含多个处理元素的系统提供了高水平的支持.Cortex-A57MPCore和Cortex-A53MPCore处理器等ARM多核处理器可以包含一到四个核.使用Cortex- ...

  6. 多核处理器,超线程技术详解

    双核处理器 即是基于单个半导体的一个处理器上拥有两个一样功能的处理器核心.换句话说,将两个物理处理器核心整合入一个核中.企业IT管理者们也一直坚持寻求增进性能而不用提高实际硬件覆盖区的方法.多核处理器 ...

  7. Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net

    Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...

  8. C/C++编译器并行优化技术:并行优化针对多核处理器和多线程环境进行优化,以提高程序的并行度

    目录标题 引言 数据并行:将数据集分割成多个子集,分配给多个线程或处理器并行处理. 延迟执行与乱序执行:对指令的执行顺序进行调整,提高指令流水线的利用率和性能. 延迟执行 乱序执行 任务并行:将程序分 ...

  9. python如何指定使用的cpu核_Python如何利用多核处理器

    python多线程不能利用多核cpu,但有时候多线程确实比单线程快. python 为什么不能利用多核 CPU  GIL 其实是因为在 python中有一个 GIL( Global Interpret ...

  10. 处理器关于多核概念与区别 多核处理器工作原理及优缺点

    +关注 摘要:目前关于处理器的单核.双核和多核已经得到了普遍的运用,今天我们主要说说关于多核处理器的一些相关概念,它的工作与那里以及优缺点而展开的分析. 1.多核处理器 多核处理器是指在一枚处理器中集 ...

最新文章

  1. 亲测可以使用的:Maven将中央仓库修改为阿里云的maven仓库
  2. maven mybatis mysql_Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问...
  3. 微软最新启动了一个 I'm 活动
  4. VS2010没有Intellisense(智能感知)的解决办法
  5. 11 为了进一步_小米11正式官宣!12月28号整装待发,这几点或成关键
  6. 《Head First Python》第六章--定制数据对象
  7. Linux 之目录 -鸟哥的Linux私房菜
  8. fedora16设置root登录
  9. jquery 滚动到某个div_如何使用jQuery获取父元素
  10. csdn怎么添加好友
  11. c语言词法分析器的实验报告,C语言词法分析器构造实验报告
  12. Spring AOP 之 通知、连接点、切点、切面
  13. 已解决-内部版本7601 此windows副本不是正版
  14. 普通学历,大一大二要不要打ACM?
  15. linux解压带密码zip,linux下解压有密码的rar压缩包的方法
  16. mas机 mysql_移动MAS机开发相关
  17. SQL Server数据恢复准备之TRUNCATE TABLE理解
  18. Git版本控制的使用
  19. CDH 6.2.0启用kerberos认证
  20. 服务器硬盘掉线解决过程分析

热门文章

  1. 关于CS61b sp21中proj0的问题
  2. 支持向量机(Support Vector Machine,SVM)
  3. Opencv学习笔记 - 使用opencvsharp和支持向量机
  4. delphi中webbrowser的用法
  5. 乾颐堂现任明教教主(2014年课程)TCPIP协议详解卷一 第二节课笔记
  6. ETL工具kettle 日志表配置及工作流程
  7. 科创板第二批受理名单公布,为何AI独角兽 “全军覆没”?...
  8. 360云服务器合作,360云主机速度(云服务器)
  9. xp系统无法从补丁服务器获取补丁,怎么获取到xp系统的微软补丁_微软补丁获取方法 - 驱动管家...
  10. php屏蔽中文浏览器,网站屏蔽中文浏览器/英文浏览器方法