I ran a simple HTTP benchmark against Node.js v5.4.1 and luvit v2.8.0. Benchmarks were performed using a slightly modified version of the example “Hello World” script provided by both projects and used siege for performing requests. The scripts were modified to send the exact same headers and body content over the wire.

server.lua

server.js

Results

For each test I would run the server, make several hundred ignored requests, then run a siege for 2 minutes:

  • Node: 29.79 Requests per Second (3549/119.15 sec)
  • luvit: 30.79 Requests per Second (3687/119.74 sec)

I was a bit surprised, having assumed luvit would have maybe double the throughput as compared to Node, but as you can see the two are nearly tied. Both internally use [email protected] which is likely the determining factor for performance.