BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News The Performance of Dart 1.3 Is on Par with Node.js

The Performance of Dart 1.3 Is on Par with Node.js

This item in japanese

Bookmarks

The Google Dart team has announced Dart SDK 1.3 which improves the performance of asynchronous server-side code to the point that Dart VM is on par with Node.js, the later using another Google technology, the V8 engine.

Dart has a new performance page plotting the performance of the VM and the dart:io library by measuring the Requests/sec, Avg. Latency and Max Latency of an HTTP server in three cases:

  • Hello - a simple HTTP server responding with the string “world” to all requests.

  • File - an HTTP server returning the content of a 100KB file.

  • JSON - an HTTP server returning a dynamically generated JSON string.

According to the charts, the Dart server now handles more than double the traffic for Hello and JSON scenarios and has a 30% improvement for File requests when compared to Dart 1.2. The Avg. Latency has consequently dropped to less than half for Hello and JSON and by ~30% for File. While in the past the Max Latency fluctuated massively around 125ms and 300ms for Hello and respectively JSON, now this value is quite stable at around 5 and 7 ms.

According to Anders Johnsen, a Google engineer, Dart’s server-side performance was improved by using the generational garbage collector, reducing the number of system calls handling asynchronous I/O on Mac OS and Linux, optimizing the VM compiler and code sections in dart:core and dart:async.

Using a different configuration, TechEmpower benchmarked Dart/nginx in December 2013 doing ~35,000 JSON requests/sec while Node.js did ~70,000 Req/sec. Now that Dart handles more than double JSON requests, we can assume that the Dart VM is on par with Node.js. A future TechEmpower benchmark will probably confirm this. A simple HTTP server built with Google Go beats all frameworks/platform with ~215,000 JSON Req/sec. according to the same benchmark.

Rate this Article

Adoption
Style

BT