微信号:infoqchina

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

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

2014-04-14 17:45 InfoQ

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

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

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

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

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

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

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

201312月,当时使用的配置与现在不同,TechEmpower基准测试的成绩是,Dart/nginx每秒处理35 000JSON请求,而Node.js每秒可以处理70 000个请求。现在Dart可以处理的JSON请求数是原来的两倍多,所以我们可以假定Dart虚拟机的性能达到了Node.js的同等水平。或许未来的TechEmpower基准测试会证明这一点。根据同一基准测试,使用GoogleGo构建的一个简单HTTP服务器以每秒处理215 000JSON请求的成绩打败了所有框架/平台。

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

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

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

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

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

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

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

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

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

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


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 测试建模 :从尔康的鼻孔说开来,重要的用例写三遍 Swift最酷炫的七大功能 C/C++程序core dump分析(一) 微复盘 PHP核心知识要点 一