summaryrefslogtreecommitdiff
path: root/website/benchmarks.html
diff options
context:
space:
mode:
Diffstat (limited to 'website/benchmarks.html')
-rw-r--r--website/benchmarks.html273
1 files changed, 0 insertions, 273 deletions
diff --git a/website/benchmarks.html b/website/benchmarks.html
deleted file mode 100644
index 80a47f03c..000000000
--- a/website/benchmarks.html
+++ /dev/null
@@ -1,273 +0,0 @@
-<!-- Copyright 2018-2019 the Deno authors. All rights reserved. MIT license. -->
-<!DOCTYPE html>
-<html>
- <head>
- <title>Deno Benchmarks</title>
- <link rel="shortcut icon" href="favicon.ico" />
- <link rel="stylesheet" href="https://unpkg.com/c3@0.6.7/c3.min.css" />
- <link rel="stylesheet" href="style.css" />
- <meta content="width=device-width, initial-scale=1.0" name="viewport" />
- </head>
- <body>
- <div id="spinner-overlay">
- <div class="spinner"></div>
- `
- </div>
- <main>
- <a href="/"><img src="images/deno_logo_4.gif" width="200"/></a>
- <h1>Deno Continuous Benchmarks</h1>
-
- <p>
- These plots are updated on every commit to
- <a href="https://github.com/denoland/deno">master branch</a>.
- </p>
-
- <p>
- Make sure your adblocker is disabled as some can block the chart
- rendering.
- </p>
-
- <p><a href="#recent">recent data</a></p>
- <p><a href="#all">all data</a> (takes a moment to load)</p>
-
- <h3 id="req-per-sec">Req/Sec <a href="#req-per-sec">#</a></h3>
-
- <p>
- Tests HTTP server performance. 10 keep-alive connections do as many
- hello-world requests as possible. Bigger is better.
- </p>
-
- <ul>
- <li>
- <a
- href="https://github.com/denoland/deno/blob/master/tools/deno_tcp.ts"
- >deno_tcp</a
- >
- is a fake http server that doesn't parse HTTP. It is comparable to
- <a
- href="https://github.com/denoland/deno/blob/master/tools/node_tcp.js"
- >node_tcp</a
- >
- .
- </li>
-
- <li>
- <a
- href="https://github.com/denoland/deno_std/blob/master/http/http_bench.ts"
- >deno_http</a
- >
- is a web server written in TypeScript. It is comparable to
- <a
- href="https://github.com/denoland/deno/blob/master/tools/node_http.js"
- >node_http</a
- >
- .
- </li>
-
- <li>
- deno_core_single and deno_core_multi are two versions of a minimal
- fake HTTP server. It blindly reads and writes fixed HTTP packets. It
- is comparable to deno_tcp and node_tcp. This is a standalone
- executable that uses
- <a href="https://crates.io/crates/deno">the deno rust crate</a>. The
- code is in
- <a
- href="https://github.com/denoland/deno/blob/master/core/examples/http_bench.rs"
- >http_bench.rs</a
- >
- and
- <a
- href="https://github.com/denoland/deno/blob/master/core/examples/http_bench.js"
- >http_bench.js</a
- >. single uses
- <a
- href="https://docs.rs/tokio/0.1.19/tokio/runtime/current_thread/index.html"
- >tokio::runtime::current_thread</a
- >
- and multi uses
- <a href="https://docs.rs/tokio/0.1.19/tokio/runtime/"
- >tokio::runtime::threadpool</a
- >.
- </li>
-
- <li>
- <a
- href="https://github.com/denoland/deno/blob/master/tools/hyper_hello.rs"
- >
- hyper
- </a>
- is a Rust HTTP server and represents an upper bound.
- </li>
- </ul>
-
- <div id="req-per-sec-chart"></div>
-
- <div id="normalized-req-per-sec-chart"></div>
-
- <input type="checkbox" id="req-per-sec-chart-show-normalized" />
- <label for="req-per-sec-chart-show-normalized">Show Normalized</label>
-
- <h3 id="proxy-req-per-sec">
- Proxy Req/Sec <a href="#proxy-eq-per-sec">#</a>
- </h3>
-
- <p>
- Tests proxy performance. 10 keep-alive connections do as many
- hello-world requests as possible. Bigger is better.
- </p>
-
- <ul>
- <li>
- <a
- href="https://github.com/denoland/deno/blob/master/tools/deno_tcp_proxy.ts"
- >deno_proxy_tcp</a
- >
- is a fake tcp proxy server that doesn't parse HTTP. It is comparable
- to
- <a
- href="https://github.com/denoland/deno/blob/master/tools/node_tcp_proxy.js"
- >node_proxy_tcp</a
- >
- .
- </li>
-
- <li>
- <a
- href="https://github.com/denoland/deno/blob/master/tools/deno_http_proxy.ts"
- >deno_proxy</a
- >
- is an HTTP proxy server written in TypeScript. It is comparable to
- <a
- href="https://github.com/denoland/deno/blob/master/tools/node_http_proxy.js"
- >node_proxy</a
- >
- .
- </li>
-
- <li>
- <a
- href="https://github.com/denoland/deno/blob/master/tools/hyper_hello.rs"
- >
- hyper
- </a>
- is a Rust HTTP server used as the origin for the proxy tests
- </li>
- </ul>
-
- <div id="proxy-req-per-sec-chart"></div>
-
- <div id="normalized-proxy-req-per-sec-chart"></div>
-
- <input type="checkbox" id="proxy-req-per-sec-chart-show-normalized" />
- <label for="proxy-req-per-sec-chart-show-normalized"
- >Show Normalized</label
- >
-
- <h3 id="max-latency">Max Latency <a href="#max-latency">#</a></h3>
-
- <p>
- Max latency during the same test used above for requests/second. Smaller
- is better.
- </p>
-
- <div id="max-latency-chart"></div>
-
- <h3 id="exec-time">Execution time <a href="#exec-time">#</a></h3>
- <p>
- This shows how much time total it takes to run a few simple deno
- programs:
- <a
- href="https://github.com/denoland/deno/blob/master/tests/002_hello.ts"
- >
- tests/002_hello.ts </a
- >,
- <a
- href="https://github.com/denoland/deno/blob/master/tests/003_relative_import.ts"
- >tests/003_relative_import.ts</a
- >,
- <a
- href="https://github.com/denoland/deno/blob/master/cli/tests/text_decoder_perf.js"
- >cli/tests/text_decoder_perf.js</a
- >,
- <a
- href="https://github.com/denoland/deno/blob/master/tests/workers_round_robin_bench.ts"
- >tests/workers_round_robin_bench.ts</a
- >, and
- <a
- href="https://github.com/denoland/deno/blob/master/tests/workers_startup_bench.ts"
- >tests/workers_startup_bench.ts</a
- >. 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.
- </p>
- <div id="exec-time-chart"></div>
-
- <h3 id="throughput">Throughput <a href="#throughput">#</a></h3>
-
- <p>
- Time it takes to pipe a certain amount of data through Deno.
-
- <a
- href="https://github.com/denoland/deno/blob/master/tests/echo_server.ts"
- >
- echo_server.ts
- </a>
- and
- <a href="https://github.com/denoland/deno/blob/master/tests/cat.ts">
- cat.ts </a
- >. Smaller is better.
- </p>
-
- <div id="throughput-chart"></div>
-
- <h3 id="max-memory">Max Memory Usage <a href="#max-memory">#</a></h3>
-
- <p>
- Max memory usage during execution. Smaller is better.
- </p>
-
- <div id="max-memory-chart"></div>
-
- <h3 id="size">Executable size <a href="#size">#</a></h3>
- <p>deno ships only a single binary. We track its size here.</p>
- <div id="binary-size-chart"></div>
-
- <h3 id="threads">Thread count <a href="#threads">#</a></h3>
- <p>How many threads various programs use.</p>
- <div id="thread-count-chart"></div>
-
- <h3 id="bundles">Syscall count <a href="#bundles">#</a></h3>
- <p>
- How many total syscalls are performed when executing a given script.
- </p>
- <div id="syscall-count-chart"></div>
-
- <h3 id="bundles">Bundle size <a href="#syscalls">#</a></h3>
- <p>
- Size of different bundled scripts.
- </p>
-
- <ul>
- <li>
- <a href="https://deno.land/std/http/file_server.ts">file_server</a>
- </li>
-
- <li>
- <a href="https://deno.land/std/examples/gist.ts">gist</a>
- </li>
- </ul>
-
- <div id="bundle-size-chart"></div>
- </main>
- <script src="https://unpkg.com/d3@5.7.0/dist/d3.min.js"></script>
- <script src="https://unpkg.com/c3@0.6.7/c3.min.js"></script>
-
- <!-- Run "deno bundle app.ts app.bundle.js" to generate app.bundle.js -->
- <script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.6/require.min.js"></script>
- <script src="app.bundle.js"></script>
- <script>
- requirejs(["app"], app => app.main());
- </script>
- </body>
-</html>