The Node.js Benchmarking Working Group: Measuring Performance for A Speedier Node.js

This post was contributed by Michael Dawson (michael_dawson@ca.ibm.com, twitter: mhdawson1, github: mhdawson) and Uttam Pawar (uttam.c.pawar@intel.com, twitter: @uttampc, github: uttampawar)

In this post we’d like to acquaint you with the work being done by the Node.js Benchmarking Working Group (WG) and how we are working to keep an eye on Node.js performance.

Objective of the working Group
Node.js is a vibrant and growing runtime with a high pace and rate of change. While this is great for new features and functionality, it does mean that we need a solid safety net to ensure the positive aspects of the Node.js runtime continue to improve or at least stay the same. Performance is one of these key aspects and the Benchmarking Working group works to be part of the safety net for performance.

The objective of the Benchmarking Working group is to track and evangelize performance gains made between Node.js releases and avoid performance regressions between releases. The approach followed is to:

You can check out the data for the benchmarks currently being run at https://benchmarking.nodejs.org. You can also find more information at https://github.com/nodejs/benchmarking. As an example these are a couple of the graphs which are available:

Examples of benchmarks being run.

What’s New With the Benchmarking WG?
Over the last quarter we’ve continued to keep the existing benchmarks up and running and published data regularly. Recently, we fixed a problem with how one of the required benchmarks was running/reporting.

Ready to Jump in and Work on Benchmarking?
Great performance and the ability to scale has consistently been one of the benefits brought by Node.js. As deployments of Node.js continue to grow and to move into new types of applications it’s important to make sure we build out the safety net to include those types of applications. There are also new performance aspects being introduced by features like workers (https://nodejs.org/api/worker_threads.html) that need to be explored and tracked.

If you are interested in performance and benchmarks we’d love to have you join the working group and help out. Come help explore those aspects and help build out the Node.js safety net. With so much work to go around, we really could use more active members! If you’d like to get involved you can attend our next WG meeting, which is on the Foundation calendar at nodejs.org/calendar. We usually meet every third week on Tuesdays at 11 am PT. Just look for Benchmarking WG Meeting. The next one is currently scheduled for March 5th.