Releases: krausest/js-framework-benchmark
Chrome 105
Results are updated for chrome 105:
https://krausest.github.io/js-framework-benchmark/2022/table_chrome_105.0.5195.102.html
Attached you find a binary build of all frameworks such that you can run the benchmark without installing and building all frameworks (see README for how to use the build.zip)
Discussion:
Looks like no big changes. Seems like the remove row benchmark got worse for a few fast frameworks like e.g. solid, wasm- bindgen and blockdom. Maybe we'll add a CPU slowdown for the remove benchmark in the next run.
Select row has already a really high CPU slowdown and we should observe whether the values are still meaningful (1more and blockdom were a bit slower than the other fast frameworks for chrome 104 too).
Chrome 104
Results for chrome 104 are in: https://krausest.github.io/js-framework-benchmark/2022/table_chrome_104.0.5112.79.html
Once again on my MacBook Air M1. I used puppeteer for this run, playwright reported a bit strange results for remove row.
Chrome 103
Results for chrome 103 are ready: https://krausest.github.io/js-framework-benchmark/2022/table_chrome_103.0.5060.53_osx.html
This time I wanted to use my MacBook Air. I decided to use a cloud vm to build the frameworks. This was a bit more work than I thought.
I switched to latest node tls (v16.15.1). Running npm ci
caused an update of most lock files and was incredibly slow, so I decided to npm install
all frameworks which broke quite a few of them.
As a target platform to build and host the frameworks I decided to play with a virtual cloud server. So far the framework information (e.g. version) was loaded from the disk, and only the assembled files were loaded over http. I switched from lws to an express server that also provides the framework information. npm start
starts this server now.
Overall I'm not happy with the large standard error in the create 1,000 rows benchmark. Maybe I find the time to check linux results (though the days of my linux laptop are mostly gone).
As usual the attached zip file contains all precompiled frameworks. Just unzip in the js-framework-benchmark root dir, start the web server npm start and start running the benchmark npm run bench
Chrome 102
Results for chrome 102 are published: https://krausest.github.io/js-framework-benchmark/2022/table_chrome_102.0.5005.61.html
Attached is a zip file with all precompiled frameworks. Just unzip in the js-framework-benchmark root dir, start the web server npm start
and start running the benchmark npm run bench
build.zip
Chrome 101
Results for chrome 101 are published: https://krausest.github.io/js-framework-benchmark/2022/table_chrome_101.0.4951.41.html
Please note that for some benchmarks (most notably create 1k and 10k rows) the variance of the measurement increased in comparison to chrome 100. This is rather bad, since ideally we'd like to have low variance since only that guarantees stable results.
(build.zip is experimental. It should allow unzipping in the js-framework-benchmark directory and install the compiled files for all implementations such that building them locally is optional. This note will be updated when I did some further tests.)
Chrome 100
Results for chrome 100 are finally published: https://krausest.github.io/js-framework-benchmark/2022/table_chrome_100.0.4896.127.html
Please note that I had to replace the test runner. The Webdriver benchmark driver returned strange results that could neither be explained nor reproduced for clear rows. Thus I switched to puppeteer. Sadly the variance in the measurement has gone up and numbers appear not to be directly comparable to the older webdriver results such that I'm not publishing the chart showing the performance across chrome versions. See #1020 for the full drama.
(build.zip is experimental. It should allow unzipping in the js-framework-benchmark directory and install the compiled files for all implementations such that building them locally is optional. This note will be updated when I did some further tests.)
Chrome 99
Results for chrome 99 are published: https://krausest.github.io/js-framework-benchmark/2022/table_chrome_99.0.4844.51.html
Looks like no big changea in chrome's performance (maybe except alpine for clear row, which got much faster):
Chrome 98 results
Results for chrome 98 are published: https://krausest.github.io/js-framework-benchmark/2022/table_chrome_98.0.4758.80.html
Here's the chart for vanillajs-keyed for the latest chrome versions: