Skip to content

Latest commit

 

History

History
58 lines (46 loc) · 2.91 KB

HowToRun.md

File metadata and controls

58 lines (46 loc) · 2.91 KB

How to Run the Benchmark

To run the benchmark, you need to have the following tools installed:

The tested versions are:

Tool Version Notes
Typed Racket 8.15 Bundled with Racket 8.15
Node.js 22.11.0 See .node-version file under relevant directories
npm 10.9.0 Bundled with Node.js
Python 3.13.0 See .python-version file under relevant directories
pip 24.2 Bundled with Python
TypeScript 5.6.3 See TypeScript/package-lock.json
Flow 0.245.2 See Flow/package-lock.json
Pyright 1.1.389 See Pyright/package-lock.json
mypy 1.13.0 See mypy/requirements.txt

First, clone this repository. Then, install the dependencies for the benchmark tools:

cd TypeScript
npm install
cd ../Flow
npm install
cd ../Pyright
npm install
cd ../mypy
source venv/bin/activate # not necessary if you have direnv installed
pip install -r requirements.txt

The benchmark is written in Racket. The usage of the benchmark tool is as follows:

$ racket main.rkt --help
usage: main.rkt [ <option> ... ] [<type-checker>]

<option> is one of

  -v, --verbose
     Print the output of the benchmarks to the console
  -f <output-format>, --format <output-format>
     Print the output of the benchmarks in the specified format. Options: plain, markdown, tex. Default: plain.
  --help, -h
     Show this help
  --
     Do not treat any remaining argument as a switch (at this level)

 Multiple single-letter switches can be combined after
 one `-`. For example, `-h-` is the same as `-h --`.

When parameter <type-checker> is not provided, the benchmark will run all type checkers. Otherwise, it will run only the specified type checker.