As part of Deno's continuous integration and testing pipeline we measure the performance of certain key metrics of the runtime. You can view these benchmarks here.
In this section we measure various metrics of the following scripts:
Log scale. This shows how much time total it takes to run a script. For deno to execute typescript, it must first compile it to JS. A warm startup is when deno has a cached JS output already, so it should be fast because it bypasses the TS compiler. A cold startup is when deno must compile from scratch.
How many threads various programs use. Smaller is better.
How many total syscalls are performed when executing a given script. Smaller is better.
Max memory usage during execution. Smaller is better.
In both cases,
std/examples/chat/server_test.ts is cached by Deno. The workload contains 20 unique TypeScript modules. With check a full TypeScript type check is performed, while no_check uses the
--no-check flag to skip a full type check. bundle does a full type check and generates a single file output, while bundle_no_check uses the
--no-check flag to skip a full type check.
Show normalized benchmarks
Tests HTTP server performance. 10 keep-alive connections do as many hello-world requests as possible. Bigger is better.
Max latency during the same test used above for requests/second. Smaller is better. Log scale.
Tests proxy performance. 10 keep-alive connections do as many hello-world requests as possible. Bigger is better.
We track the size of various files here. "deno" is the release binary.
We track the performance of the Deno language server under different scenarios to help gauge the overall performance of the language server.