About

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.

You are currently viewing data for the most recent commits to the masterbranch. You can also view all commits.

Runtime Metrics

In this section we measure various metrics of the following scripts:

Execution time
Loading...

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.

Thread count
Loading...

How many threads various programs use. Smaller is better.

Syscall count
Loading...

How many total syscalls are performed when executing a given script. Smaller is better.

Max memory usage
Loading...

Max memory usage during execution. Smaller is better.

TypeScript Performance

Type Checking
Loading...

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.

I/O

Show normalized benchmarks

HTTP Server Throughput
Loading...

Tests HTTP server performance. 10 keep-alive connections do as many hello-world requests as possible. Bigger is better.

HTTP Latency
Loading...

Max latency during the same test used above for requests/second. Smaller is better. Log scale.

HTTP Proxy Throughput
Loading...

Tests proxy performance. 10 keep-alive connections do as many hello-world requests as possible. Bigger is better.

Throughput
Loading...

Log scale. Time it takes to pipe a certain amount of data through Deno. echo_server.ts and cat.ts. Smaller is better.

Size

Executable size
Loading...

Deno ships only a single binary. We track its size here.

Bundle size
Loading...

Size of different bundled scripts.