mirror of
https://github.com/bytedream/litbwraw.git
synced 2025-05-09 12:15:13 +02:00
add benchmark page
This commit is contained in:
parent
464c20c334
commit
7b3f90c99b
@ -10,3 +10,4 @@
|
|||||||
- [Calling from Javascript](tutorial/calling-from-javascript.md)
|
- [Calling from Javascript](tutorial/calling-from-javascript.md)
|
||||||
- [Testing](./testing.md)
|
- [Testing](./testing.md)
|
||||||
- [Examples](./examples.md)
|
- [Examples](./examples.md)
|
||||||
|
- [Benchmarks](./benchmarks.md)
|
||||||
|
69
src/benchmarks.md
Normal file
69
src/benchmarks.md
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# Benchmarks
|
||||||
|
|
||||||
|
To get an overview how the performance of WebAssembly compares to other implementations, some benchmarks were done.
|
||||||
|
The used benchmark code is from the [Computer Language Benchmarks Game](https://benchmarksgame-team.pages.debian.net/benchmarksgame/index.html).
|
||||||
|
|
||||||
|
Note that these are only micro-benchmarks. They test one very specific implementation of something, whereas a real program would use multiple or complete other things that aren't tested here.
|
||||||
|
|
||||||
|
The benchmark sources can be found [here](https://github.com/bytedream/litbwraw/tree/main/lua-playground).
|
||||||
|
|
||||||
|
### Environment
|
||||||
|
|
||||||
|
Every benchmark runs 5 times and the final benchmark results are calculated from the average result of each run.
|
||||||
|
All benchmarks are using NodeJS to execute them. NodeJS itself always has a performance/memory overhead as it needs to spin up a new V8 engine every time, which is the explanation why the base memory is so high.
|
||||||
|
|
||||||
|
Host & OS:
|
||||||
|
- Raspberry Pi 4, 2GB RAM
|
||||||
|
- Raspberry Pi OS Lite, 64 bit, 2024-11-19
|
||||||
|
|
||||||
|
Software:
|
||||||
|
- Rust v1.85.0
|
||||||
|
- NodeJS v23.7.0
|
||||||
|
- Emscripten v4.0.4
|
||||||
|
|
||||||
|
Tested Software:
|
||||||
|
- WebAssembly (wasm); mlua v0.10.3
|
||||||
|
- Fengari (fengari); fengari v0.1.4
|
||||||
|
|
||||||
|
### Results
|
||||||
|
|
||||||
|
#### binary-trees
|
||||||
|
| x | source | secs | mem(kb) | cpu secs |
|
||||||
|
| - | ------ | ---- | --- | -------- |
|
||||||
|
| 1.000 | wasm #2 | 0.394 | 63523 | 0.250 |
|
||||||
|
| 1.944 | fengari #2 | 0.766 | 76401 | 0.516 |
|
||||||
|
###### [binary-trees](https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/binarytrees) with default arguments
|
||||||
|
#### fasta
|
||||||
|
| x | source | secs | mem(kb) | cpu secs |
|
||||||
|
| - | ------ | ---- | --- | -------- |
|
||||||
|
| 1.000 | wasm #3 | 0.418 | 65840 | 0.290 |
|
||||||
|
| 1.000 | wasm #2 | 0.418 | 66004 | 0.290 |
|
||||||
|
| 3.464 | fengari #2 | 1.448 | 92410 | 0.830 |
|
||||||
|
| 3.474 | fengari #3 | 1.452 | 88531 | 0.816 |
|
||||||
|
###### [fasta](https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/fasta) with default arguments
|
||||||
|
#### mandelbrot
|
||||||
|
| x | source | secs | mem(kb) | cpu secs |
|
||||||
|
| - | ------ | ---- | --- | -------- |
|
||||||
|
| 1.000 | wasm #3 | 0.366 | 59729 | 0.282 |
|
||||||
|
| 1.000 | wasm | 0.366 | 59794 | 0.282 |
|
||||||
|
| 1.011 | wasm #2 | 0.370 | 59656 | 0.290 |
|
||||||
|
| 3.208 | fengari | 1.174 | 73571 | 0.910 |
|
||||||
|
| 3.410 | fengari #3 | 1.248 | 73195 | 0.986 |
|
||||||
|
| 3.552 | fengari #2 | 1.300 | 72489 | 1.016 |
|
||||||
|
###### [mandelbrot](https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/mandelbrot) with default arguments
|
||||||
|
#### n-body
|
||||||
|
| x | source | secs | mem(kb) | cpu secs |
|
||||||
|
| - | ------ | ---- | --- | -------- |
|
||||||
|
| 1.000 | wasm | 0.380 | 61705 | 0.270 |
|
||||||
|
| 1.011 | wasm #4 | 0.384 | 62563 | 0.284 |
|
||||||
|
| 1.016 | wasm #2 | 0.386 | 62552 | 0.276 |
|
||||||
|
| 2.832 | fengari #2 | 1.076 | 74635 | 0.626 |
|
||||||
|
| 2.842 | fengari | 1.080 | 75442 | 0.650 |
|
||||||
|
| 2.863 | fengari #4 | 1.088 | 74627 | 0.626 |
|
||||||
|
###### [n-body](https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/nbody) with default arguments
|
||||||
|
#### spectral-norm
|
||||||
|
| x | source | secs | mem(kb) | cpu secs |
|
||||||
|
| - | ------ | ---- | --- | -------- |
|
||||||
|
| 1.000 | wasm | 0.554 | 59567 | 0.450 |
|
||||||
|
| 4.801 | fengari | 2.660 | 75651 | 2.324 |
|
||||||
|
###### [spectral-norm](https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/spectralnorm) with default arguments
|
Loading…
x
Reference in New Issue
Block a user