Skip to content

Alloyed/vmtest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Embedded language benchmarks

Suite of benchmarks for testing a language implementation's suitability/performance when embedded in a larger C++ application.

Requirements:

  • loads/runs code at runtime
  • No/limited global state (this means no GIL, specifically)
  • No JIT compilation. If the language has a flag to disable all JIT, that's fine.
  • A well defined C/C++ api

Evaluation criteria:

  • Raw language performance
  • C++ API performance (this includes marshalling and so on)
  • Startup times on a small codebase
  • Startup times on a large codebase (will need some sort of codegen to simulate this)
  • Memory usage

Non-performance criteria I hope to suss out:

  • Ease of embedding
  • Ability to write complex native-feeling binding layers
  • Ability to generate binding layers via codegen

Things I'm interested in evaluating:

  • duktape
  • v8
  • PUC lua 5.1
  • PUC lua 5.3
  • luajit
  • wren
  • dart
  • haxe
  • squirrel
  • angelscript

Running Tests

We're using CMake as our build system. All dependencies are bundled with the application.

$ git submodule update --init --recursive
$ mkdir build
$ cd build
build $ cmake ..
build $ make
build $ ctest --verbose

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published