关于谷歌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上进行,所以难免有误差。
关于谷歌JSV8与微软JSRT的性能比较的更多相关文章
- Windows桌面或服务器环境下嵌入JavaScript支持(JSRT)
很多人比较关注Google的JS V8 JavaScript引擎,确实Google最近很高调.但这个库在Windows下使用确实有点难度,即使在Linux嵌入,也需要下载gyp,编译安装,然后再下载v ...
- CSS性能分析,如何优化CSS提高性能
不负十年后的自己,共勉! 前端性能优化一直是一个比较热门的话题,我们总是在尽我们最大的努力去,提高我们的页面性能,比如减少HTTP请求,利用工具对资源进行合并压缩,脚本置底,避免重复请求,css sp ...
- 微软Azure云主机测试报告
http://www.cnblogs.com/sennly/p/4135658.html 1. 测试目的 本次测试的目的在于对微软云主机做性能测试,评估其是否能够满足我们业务的需求. 2. 测试项目 ...
- 谷歌 google
google Google是搜索引擎名,也是一家美国上市公司名称.Google公司于1998年9月7日以私有股份公司的形式创立,以设计并管理一个互联网的搜索引擎.Google公司的总部称作“Googl ...
- 微软收购跨平台移动开发公司Xamarin
摘要:北京时间2月25日早间消息,微软周三宣布收购创业公司Xamarin,这也是该公司为了吸引更多软件工程师为其云计算服务编写程序而采取的最新举措.古斯里表示,总部位于旧金山的Xamarin创立于20 ...
- 浏览器上写代码,4核8G微软服务器免费用,Codespaces真香
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 一图胜千言 先上图,下面是欣宸在自己的iPad Pro ...
- .net core 抛异常对性能影响的求证之路
一.前言 在.net 社区中曾经听到过很多关于大量抛异常会影响性能这样的结论,心中一直就存在各种疑问.项目中使用自定义异常来处理业务很爽,但是又担心大量抛业务异常存在性能问题. 查阅了各种文档,微软官 ...
- .NET性能系列文章二:Newtonsoft.Json vs. System.Text.Json
微软终于追上了? 图片来自 Glenn Carstens-Peters Unsplash 欢迎来到.NET性能系列的另一章.这个系列的特点是对.NET世界中许多不同的主题进行研究.基准和比较.正如标题 ...
- AngularJs指令(一)
AngularJs应用现在越来越流行了,谷歌都与微软合作支持AngularJS2.0,这是要逆天了,说明AngularJs将来大势所趋.最近想跳槽,又重新拾起了AngluarJs(之前由于缺少项目应用 ...
随机推荐
- Spring Boot最核心的27个注解,你了解多少?
导读 Spring Boot方式的项目开发已经逐步成为Java应用开发领域的主流框架,它不仅可以方便地创建生产级的Spring应用程序,还能轻松地通过一些注解配置与目前比较火热的微服务框架Spring ...
- Android主线程的消息系统(Handler\Looper)
前言: 之前的文章写的都是关于Bitmap和内存的优化技术,这一篇文章给大家谈谈Handler. Handler是Android系统中比较重要的一个知识,在Android多线程面试经常会被问到,在实际 ...
- MySQL 锁信息和事务
1 锁概念 1.1 什么是锁 锁是数据库系统区别于文件系统的一个关键特性.数据库系统使用锁是为了支持对共享资源进行并发访问,提供数据的完整性和一致性.例如:操作缓冲池中的LRU列表,删除.添加.移动L ...
- 浅谈javascript-this关键字
前言 JavaScript中this变量是一个令人难以摸清的关键字,当初学习javascript的时候被这个this指向问题折腾的我是惨不忍睹,漏洞百出.一度想在后面的代码过程中放弃对this的使用, ...
- 关于EF的三种分类----CodeFirst
新建StudentInfo.cs using System; using System.Collections.Generic; using System.ComponentModel.DataAnn ...
- thinkphp自动创建数据对象分析
thinkphp有一个自动创建数据对象的create方法,核心代码如下 public function create($data='',$type='') { // 如果没有传值默认取POST数据 i ...
- Facebook ATC弱网环境搭建
用户的网络环境千姿百态,弱网的.高延时的.丢包的.常有用户反馈偶发bug,我们测试人员却始终无法复现,根据用户的描述,开发排查可能是网络不稳定导致的,所以急需建个弱网环境来测试. 弱网工具简介: Au ...
- TensorFlow中的设备管理——Device的创建与注册机制
背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 作为一款优秀的异构深度学习算法框架,TensorFlow可以在多种设备上运行算 ...
- UVC 驱动调用过程与驱动框架的简单分析
内核:Linux-3.4.2 驱动:drivers\media\video\uvc\uvc_driver.c UVC 驱动整体调用流程: /* 打开设备描述符 */ 1. open: uvc_v4l2 ...
- asp.net core webapi 生成导出excel
/// <summary> /// 下载订单 /// </summary> /// <param name="model"></param ...