是什么阻止了Ruby和Python获得Javascript V8那样的速度?
Posted 并发编程网
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了是什么阻止了Ruby和Python获得Javascript V8那样的速度?相关的知识,希望对你有一定的参考价值。
这是来自stackoverflow的一个提问,Ruby Python有什么特点阻止了像javascript V8引擎那样的优化设计?Python也有Google协同开发,他们不应该存在偏见,或者这是Google的资源限制?
What blocks Ruby, Python to get Javascript V8 speed?
挑选一个点赞最多的翻译一下:
没有什么能阻止,除了钱,V8拥有一支出色的,高度专业化,经验丰富的(因此高薪)工作的工程师,有几十年创建动态的面向对象语言的经验,包括在高性能的执行引擎。他们基本上就是创造了SUN HotSpot JVM的同一批人。
Lars Bak是开发人员的领头,已经在VM上工作了25年(所有这些导致了V8),这基本上包括了他的整个生活(专业)。而目前有些写Ruby VM的人甚至还不到25岁。
那么有任何的Ruby / Python的功能是阻止实施类似V8引擎的优化(例如内联缓存)?鉴于IronRuby,JRuby MagLev MacRuby和Rubinius等也有单态(IronRuby是单态)或多态内联缓存,答案显然是否定的。现代的Ruby实现已经做了大量的优化。例如,对于某些操作,Rubinius的哈希类比YARV的要快,这听起来不太刺激直到你意识到Rubinius的哈希类是100%纯Ruby来实现的,YARV的是100%手工优化的C编写实现的.
所以,至少在某些情况下,Rubinius可以产生比GCC更好的代码!
主要问题是资源限制,不只是Google,V8的源代码到现在已经25岁了。那些创造了它的人也创造了Self VM (这是最快的一个动态的面向对象语言执行引擎), Animorphic Smalltalk VM(这是最快的一个Smalltalk执行引擎),HotSpot JVM(所创造最快Java虚拟机,最快的虚拟机的时间)和OOVM(最高效的Smalltalk VM之一)。
================================================
感谢 Coding 和 UPYUN 对本微信的支持。Coding.net 是一个面向开发者的云端开发平台,目前提供代码托管、运行空间、质量控制、项目管理等功能。
upyun.com是国内领先的云服务提供商,专注于提供静态文件的云存储、云处理和CDN加速服务。现在注册,即可免费体验!
以上是关于是什么阻止了Ruby和Python获得Javascript V8那样的速度?的主要内容,如果未能解决你的问题,请参考以下文章