Archive

Posts Tagged ‘龙芯’

Firefox/SpiderMonkey的龙芯MIPS64后端

November 1st, 2015 1 comment

不久之前写过一篇博客[1]为龙芯CPU”辩护”, 解释为什么龙芯CPU的JavaScript性能会很低.

就我个人的经验而言,龙芯的 SunSpider 性能差异更多的应该是在软件层面。现代的浏览器都通过(多个层级的)JIT来对JavaScript进行加速,开启和关闭JIT的SunSpider、Kraken、Octane 跑分差异可能会相差20~30倍。使用 iPhone 的同学可以在 Safari 和微信自带的浏览器中测试对比下速度差异(iOS 中只有 Safari 可以开 JIT)。三大开源浏览器JIT引擎对于龙芯采用的MIPS后端的支持都还很初级,甚至还不能正常使用。龙芯官方[6]和开源爱好者[5]的数据也印证了龙芯CPU跑 JavaScript 的尴尬。软件层面的缺失,或者往大了说,生态环境的问题,也是龙芯(MIPS架构)需要面对的一个大问题。

但是现在情况可能就要大不同了. 中科梦兰(龙芯系)的 heiher[2] 同学在今年开始频繁地向 Mozilla 提交MIPS64后端代码[3], 相信启用了JavaScript JIT的 Firefox 在龙芯CPU会有很大的性能提升. 到时候(瞎猜)快个20倍也说不定哦 😉

[1]: 龙芯CPU的JavaScript性能

[2]: http://hev.cc

[3]: Bugzilla User Activity

龙芯CPU的JavaScript性能

June 14th, 2015 No comments

这是4月份的新闻的评论,一直没有时间来写,拖了两个月了。

四月份的时候,类似“龙芯性能不到iPhone6 A8性能的1/10?”的新闻[1][2][3]又一次把龙芯拉出来被人吐槽。其中出现 1/10 对比的一项是 SunSpider 测试,SPEC CINT2000 的测试差异没有那么大。另外没有贴出来 SPEC CFP2000 的分数对比。

作为一度天天跑SPEC和SunSpider等Benchmark的人来说,新闻中的测试报告是没有可信度的。性能测评需要有一套完整的流程,才能够确认自己获得的测评分数是正确的。不同的环境设定、软硬件组合、是否联网[7]等都会影响到SPEC的测评分数。

[4]中有人提供了反面的数据,表达另一种可能性。

就我个人的经验而言,龙芯的 SunSpider 性能差异更多的应该是在软件层面。现代的浏览器都通过(多个层级的)JIT来对JavaScript进行加速,开启和关闭JIT的SunSpider、Kraken、Octane 跑分差异可能会相差20~30倍。使用 iPhone 的同学可以在 Safari 和微信自带的浏览器中测试对比下速度差异(iOS 中只有 Safari 可以开 JIT)。三大开源浏览器JIT引擎对于龙芯采用的MIPS后端的支持都还很初级,甚至还不能正常使用。龙芯官方[6]和开源爱好者[5]的数据也印证了龙芯CPU跑 JavaScript 的尴尬。软件层面的缺失,或者往大了说,生态环境的问题,也是龙芯(MIPS架构)需要面对的一个大问题。

[1] http://www.leiphone.com/news/201504/aCIGktK8BJgon9BV.html

[2] http://tech.163.com/15/0406/14/AMHCJ04K000915BD.html

[3] http://tech.sina.com.cn/zl/post/detail/it/2015-04-09/pid_8476155.htm

[4] http://tieba.baidu.com/p/3684400301

[5] http://www.lingcc.com/2010/06/28/10983/

[6] http://www.loongson.cn/dev/ftp/doc/07FAQ/%E9%BE%99%E8%8A%AFFAQ_V0.8.pdf

[7] 我有一次跑SPEC的时候没有拔掉网线,结果内网MDNS广播风暴导致性能掉了非常多,内核处理TCP/IP需要跟Benchmark抢占资源。