bytecodealliance / bytecodealliance/ComponentizeJS

Example should have performance numbers and comparisons

オープン
#163 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Rust
スター
391
フォーク
53
平均マージ
3日 5時間
マージ済み PR(30日)
1

説明

I'm doing some benchmarking, and while this might be apples to oranges,

1. Invoking quickjs as a wasmtime precompiled using `--eval console.log('hello world')` 1000 times takes approx 7-8s
2. Invoking the hello-world.js embedding in the example 1000 times takes approx 80s or maybe 10x as much time.

```
time for x in `seq 1 1000`; do wasmtime --allow-precompiled quickcheck.cwasm --eval "console.log('hello world')"; done

real 0m7.849s
user 0m3.077s
sys 0m6.752s
```

```
$ time for x in `seq 1 1000`; do ./target/release/wasmtime-test > /dev/null; done

real 1m21.672s
user 0m45.470s
sys 0m38.263s
```

Using `https://gitlab.com/api/v4/projects/47807501/packages/generic/js_interpreters/0.0.1/cweb_quickcheck.wasm` for the example.

It would be good to understand better what performance we can expect and how to benchmark against other options.

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

hello-world.js の embedding 例を確認し、issue で説明されている 2 つのタイミングコマンドを、事前コンパイル済みの quickcheck.cwasm との比較も含めて再現します。どの測定値を比較できるかを判断し、予想されるパフォーマンス値と、例の再現可能な比較方法を文書化します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
rust, wasm
領域
documentation, performance
issue の種類
ドキュメント
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。