微信号:infoqchina

介绍:有内容的技术社区媒体

Dart 1.3的性能达到Node.js同等水平

2014-04-11 20:49 InfoQ

Google的Dart团队宣布发布Dart SDK 1.3,该版本改进了异步服务器端代码的性能,Dart虚拟机上的执行效果已经可以与Node.js媲美,而Node.js使用了Google的另一项技术——V8引擎。


Dart提供了一个新的性能页面(https://www.dartlang.org/performance/io/),通过一个HTTP服务器在三种情况下的每秒请求数、平均延迟和最大延迟绘制了Dart虚拟机和dart:io库的性能表现图。这三种情况是:

  • Hello——对所有请求都响应字符串“world”的简单HTTP服务器。

  • File——返回一个大小为100KB的文件的HTTP服务器。

  • JSON——返回一个动态生成的JSON字符串的HTTP服务器。


根据相应图表,与Dart 1.2相比,在Hello和JSON场景下,Dart服务器可以处理的请求数比原来的两倍还多,而在File场景下,可以处理的请求数也有30%的改进。Hello和JSON场景,平均延迟也相应下降到了不足原来的一半,File场景则下降了30%。再来看最大延迟,在Hello和JSON场景下,最大延迟分别在125ms和300ms上下大幅波动,而现在该值稳定在了5ms和7ms。


据Google工程师Anders Johnsen介绍,Dart的服务器端性能是通过分代垃圾收集器得以改进的,减少了在Mac OS和Linux上处理异步I/O的系统调用次数,优化了虚拟机编译器以及dart:core和dart:async中的代码部分。


2013年12月,当时使用的配置与现在不同,TechEmpower基准测试(http://www.techempower.com/benchmarks/#section=data-r8&hw=i7&test=json)的成绩是,Dart/nginx每秒处理35 000个JSON请求,而Node.js每秒可以处理70 000个请求。现在Dart可以处理的JSON请求数是原来的两倍多,所以我们可以假定Dart虚拟机的性能达到了Node.js的同等水平。或许未来的TechEmpower基准测试会证明这一点。根据同一基准测试,使用Google的Go构建的一个简单HTTP服务器以每秒处理215 000个JSON请求的成绩打败了所有框架/平台。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 一个三十秒的习惯,让你受益终生 ccache轻松让编译效率提升3-10倍 妙用php中的register_shutdown_function和fastcgi_finish_request ARM推出全新超高能效Cortex-A32处理器,来看一下A32的架构和能效 无法拒绝的诱惑:大数据的应用场景和趋势