About

Denoの継続的インテグレーションとパイプラインのテストの一環として、 ランタイムの特定の主要なメトリクスのパフォーマンスを測定しています。 これらのベンチマークはここで見ることができます。

現在masterブランチの最近のコミットを見ています。 また、全てのコミットを見ることが出来ます。

ランタイムメトリクス

このセクションでは次のスクリプトの様々なメトリクスを測定しています:

実行時間
Loading...

ログスケール。スクリプトの実行時間にどのくらいかかったを表しています。 TypeScriptを実行するDenoは、必ずはじめにJSにコンパイルします。 フォームスタートアップとはdenoがJS出力のキャッシュをすでに持っているので TSコンパイラをバイパスすることで高速に動作する場合です。 コールドスタートアップとは、スクラッチからコンパイルしないといけない場合です。

スレッドカウント
Loading...

様々なプログラムが使うスレッドの数。小さい方が良いです。

Syscallカウント
Loading...

与えられたスクリプトを実行するときに実行される全てのsyscallの数。小さい方が良いです。

最大メモリ使用量
Loading...

実行中の最大メモリ使用量。小さい方が良いです。

TypeScriptパフォーマンス

型チェック
Loading...

どちらの場合も、std/examples/chat/server_test.ts はDenoによってキャッシュされています。ワークロードには20個のユニークな TypeScriptモジュールが含まれています。checkでは完全な TypeScriptの型チェックが行われ、no_checkでは完全な形チェックをスキップするため--no-checkフラグが使われます。バンドルはフル型チェックと一つのファイルへの出力をしますが、bundle_no_check--no-checkフラグを使って完全な型チェックをスキップします。

I/O

正規化されたベンチマークを表示

HTTPサーバースループット
Loading...

HTTPサーバーのパフォーマンスのテスト。10個のkeep-aliveコネクションが最大数のhello-worldリクエストを送ります。大きいほうが良いです。

  • deno_tcp is a fake http server that doesn't parse HTTP. It is comparable to node_tcp
  • deno_http is a web server written in TypeScript. It is comparable to node_http
  • core_http_bin_ops and core_http_json_ops 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 the deno rust crate. The code is in http_bench_json_ops.rs and http_bench_json_ops.js for http_bench_json_ops.
  • hyper はRust HTTPサーバーであり、上限を示しています。
HTTPレイテンシー
Loading...

上記の リクエスト/秒 と同じテストを使ったときの最大レイテンシー。 小さい方が良いです。ログスケール。

HTTPプロキシスループット
Loading...

プロキシパフォーマンスのテスト。10個のkeep-aliveコネクションが最大数のhello-worldリクエストを送ります。大きいほうが良いです。

  • deno_proxy_tcp はHTTPをパースしないフェイクtcpプロキシサーバーです。これは node_proxy_tcp にあたります。
  • deno_proxy はTypeScriptで書かれたHTTPサーバーです。これは node_proxy にあたります。
  • hyper はプロキシテストのオリジンとして使われるRust HTTPサーバーです。
スループット
Loading...

ログスケール。一定量のデータをDenoにパイプするのにかかる時間 echo_server.tscat.ts です。 小さい方が良いです。

Size

ファイルサイズ
Loading...

ここでは様々なファイルのサイズをトラッキングしています。"deno" はリリースバイナリです。

バンドルサイズ
Loading...

異なるバンドルされたスクリプトのサイズ。

Language Server

Loading...

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