发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

是什么阻止了Ruby和Python获得Javascript V8那样的速度?

                   
2015-01-17 10:20
赞助商链接

这是来自stackoverflow的一个提问,Ruby Python有什么特点阻止了像Javascript V8引擎那样的优化设计?Python也有Google协同开发,他们不应该存在偏见,或者这是Google的资源限制?

What blocks Ruby, Python to get Javascript V8 spee

挑选一个点赞最多的翻译一下:

没有什么能阻止,除了钱,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之一)。


5
Python      Ruby      javascript      NodeJS     

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com