Skip to content

TypeFox/language-tool-benchmark

Repository files navigation

Language Tool Benchmark

Benchmarks for various language engineering tools, comparing the same statemachine DSL implemented in Langium (TypeScript), Fastbelt (Go), Xtext (Java), and AnyText (C#).

Requirements

  • Node.js 22+ and npm
  • Go, version per fastbelt/statemachine/go.mod
  • .NET SDK 9+ and the anytextgen CLI (installed via dotnet tool install --global NMF-AnyTextGen)
  • JDK 21+ and Maven
  • dotnet-trace (dotnet tool install --global dotnet-trace), for bench:anytext:alloc only

Run npm install once before anything else.

Workspace build benchmarks

The package.json supplies an additional argument for the workspace size (in MB) for these scripts:

npm run bench:langium
npm run bench:anytext
npm run bench:xtext
npm run bench:fastbelt

Incremental update benchmarks

The package.json supplies an additional argument for the file size (in KB) for these scripts:

npm run bench:langium:incremental
npm run bench:anytext:incremental
npm run bench:xtext:incremental
npm run bench:fastbelt:incremental

Allocation profiles

The package.json supplies an additional argument for the workspace size (in MB) for these scripts:

npm run bench:xtext:alloc
npm run bench:langium:alloc
npm run bench:fastbelt:alloc
npm run bench:anytext:alloc

About

A small benchmark of various language engineering tools

Resources

License

Security policy

Stars

1 star

Watchers

0 watching

Forks

Contributors