Bench-marking Lua v/s JavaScript

Working on a server-less architecture, I wanted an embedded scripting language for Go.

I thought of using Lua embedded VM (Virtual Machine). I like Lua as is was designed to be an embedded scripting language. After some grokking around a few Go Lua VM implementations, I zeroed into Gopher Lua.

While I liked Shopify ‘s Lua VM as well, but Gopher Lua is faster, see the benchmark.

An alternative design I considered, was to use Docker to run the server-less micro-services, connecting the outside world through HTTP JSON API. Thus by using an API abstraction like Swagger, the events micro-functions can be made language independent. Hyper Ledger follows this approach, for Smart Contracts.

Another aspect, I considered is JS (Java Script) v/s Lua. JS is very popular, and web developers already are familiar with it. So, based on Gopher Lua benchmark, I tried my own:

The result shows that Hyper Ledger strategy to leverage Go language is the fastest, yet among the scripted languages Lua and JS; JS is faster than Lua.

Thus, for compiled languages I will stick with Go, and for scripting language I will go with Java Script.