关于谷歌JSV8与微软JSRT的性能比较
首先,我并没有得到实际的比较结果,望有兴趣的朋友可以帮助完成这个比较。
benchmarksgame,提供了各种语言的性能比较,但都为linux下的测试,很难比较谷歌与微软的东西。
众所周知,JSV8有优秀的性能,但具体与IE10/11的JS引擎的性能孰高孰低,并没有权威的比较结果。单从浏览器方面的比较,谷歌不计内存使用、不计电源消耗,来提升Chrome的性能。而IE则在更多方面为用户着想——系统的兼容性、低碳环保、易扩展再利用方面都有绝对的优势。我特意分析过Chrome的渲染部分,默认字体均为点阵字体,未进行平滑处理,这将有一定的性能提升,但损失了表现力。而IE会以最佳的效果显示文字。谷歌在取巧!
近期希望大范围应用JavaScript嵌入到程序中,提高扩展性,希望透彻了解JSRT的性能。
benchmarks提供了jsv8的正则表达式测试代码,很有代表性,它的性能超过了所有语言。
regex-dna benchmarksgame的数据(CPU: Core2 Q6600)
N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
---|---|---|---|---|---|
50,000 | 0.05 | 0.05 | ? | 373 | 17% 0% 0% 100% |
500,000 | 0.35 | 0.39 | 264 | 373 | 5% 0% 0% 100% |
5,000,000 | 3.29 | 3.30 | 484,640 | 373 | 0% 1% 1% 100% |
regex-dna Windows JSRT的测试结果(CPU: I3-3240)
N | Elapsed secs | Memory KB |
---|---|---|
50,000 | 0.036 | 49,400 |
500,000 | 0.42 | 73,300 |
5,000,000 | 4.27 | 403,900 |
根据benchmarksgame的描述,此测试源文件是fasta程序的输出文件。
分析regex-dna测试结果,可以看到JSRT在大数据量正则处理方面稍微弱于JSV8,但高于C++(G++)。在50000这个低档测试中JSRT的性能要好于JSV8.
binary-tree benchmarksgame的数据(CPU: Core2 Q6600)
N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
---|---|---|---|---|---|
12 | 0.07 | 0.09 | ? | 467 | 89% 22% 13% 100% |
16 | 1.31 | 1.31 | 56,752 | 467 | 9% 3% 3% 100% |
20 | 42.55 | 42.63 | 763,160 | 467 | 0% 0% 1% 100% |
binary-tree Windows JSRT的测试结果(CPU: I3-3240)
N | Elapsed secs | Memory KB |
---|---|---|
12 | 0.06 | 44,400 |
16 | 1.01 | 76,000 |
20 | 24.57 | 442.600 |
分析binary-tree测试结果,JSRT全面超越JSV8的性能。
以上测试是在两款不同CPU上进行,所以难免有误差。