Skip to main content
Deno 2.2 is here with built-in OpenTelemetry, Lint plugins, node:sqlite, and more 🎉️
Learn more

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 main branch. You can also view all commits or append e.g. ?-100 to this page's URL to view results for the last 100 commits.

Runtime Metrics

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

Execution time
0.1000.1000.0800.0800.0600.0600.0400.0400.0200.020seconds
text_encoder
text_decoder
text_encoder_into
response_string
relative_import
cold_relative_import
cold_hello
hello
no_check_hello
error_001
Download SVG
Download PNG
Download CSV

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.

Execution time (Web Workers)
1.4001.4001.2001.2001.0001.0000.8000.8000.6000.6000.4000.4000.2000.2000.0000.000seconds
workers_startup
workers_large_message
workers_round_robin
Download SVG
Download PNG
Download CSV

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
131312.512.5121211.511.51111threads
hello
response_string
cold_hello
text_encoder_into
error_001
relative_import
text_decoder
no_check_hello
cold_relative_import
text_encoder
Download SVG
Download PNG
Download CSV

How many threads various programs use. Smaller is better.

Thread count (Web Workers)
120120100100808060604040202000threads
workers_large_message
workers_startup
workers_round_robin
Download SVG
Download PNG
Download CSV

How many threads various programs use. Smaller is better.

Syscall count
3400340032003200300030002800280026002600240024002200220020002000syscalls
text_encoder
response_string
text_decoder
text_encoder_into
relative_import
hello
cold_relative_import
error_001
cold_hello
no_check_hello
Download SVG
Download PNG
Download CSV

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

Syscall count (Web Worker)
250002500020000200001500015000100001000050005000syscalls
workers_large_message
workers_startup
workers_round_robin
Download SVG
Download PNG
Download CSV

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

Max memory usage
76.2976.2971.5371.5366.7666.7661.9961.9957.2257.2252.4552.45megabytes
text_encoder
response_string
text_encoder_into
text_decoder
hello
cold_relative_import
cold_hello
error_001
relative_import
no_check_hello
Download SVG
Download PNG
Download CSV

Max memory usage during execution. Smaller is better.

Max memory usage (Web Worker)
762.94762.94572.20572.20381.47381.47190.73190.730.000.00megabytes
workers_large_message
workers_startup
workers_round_robin
Download SVG
Download PNG
Download CSV

Max memory usage during execution. Smaller is better.

Size

File sizes
152.59152.59133.51133.51114.44114.4495.3795.3776.2976.2957.2257.22megabytes
rusty_v8_rlib
deno
swc_rlib
Download SVG
Download PNG
Download CSV

We track the size of various files here. "deno" is the release binary.

Snapshot file sizes
6.936.936.936.936.936.936.936.936.93megabytes
CLI_SNAPSHOT.bin
Download SVG
Download PNG
Download CSV

We track the size of various snapshot files here.

Cargo Dependencies
887887887886886886885885dependencies
cargo_deps
Download SVG
Download PNG
Download CSV

Language Server

2000020000150001500010000100005000500000milliseconds
deco_apps_edits_nav
big_file_edits
code_lens
startup_shutdown
find_replace
Download SVG
Download PNG
Download CSV

We track the performance of the Deno language server under different scenarios to help gauge the overall performance of the language server.