Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Example should have performance numbers and comparisons #163

Open
alexanderkjeldaas opened this issue Nov 25, 2024 · 1 comment
Open

Example should have performance numbers and comparisons #163

alexanderkjeldaas opened this issue Nov 25, 2024 · 1 comment

Comments

@alexanderkjeldaas
Copy link

alexanderkjeldaas commented Nov 25, 2024

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.

@guybedford
Copy link
Collaborator

Make sure to check with the --enableAot / enableAot option for ComponentizeJS here which uses https://github.com/bytecodealliance/weval.

Benchmarking for StarlingMonkey in general is tracking in bytecodealliance/StarlingMonkey#102.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants