krausest / js-framework-benchmark

A comparison of the performance of a few popular javascript frameworks
https://krausest.github.io/js-framework-benchmark/
Apache License 2.0
6.86k stars 842 forks source link

update pota #1733

Closed titoBouzout closed 2 months ago

titoBouzout commented 2 months ago

Hi Stefan, thanks for your time

I took the opportunity to change the formatting to what I use, and simplify the roll-up config, but I didn't touch the package lock.

On this version, I was able to get rid of a placeholder attribute that worked well but was slowing it a bit. Also noticed by luck that it was trying to remove the class danger on initialization, as it defaults to false. It made me implement a prev/next logic that I already saw in solid long ago but mostly forgotten.

The weird attribute which was a hasAttribute and removeAttribute call was consuming ~25ms, and the class removal some ~10ms. So on my tests it went from ~135ms to ~100ms, solid is at ~70ms so 30 more to glory but I consider that unreachable.

Ive been hesitant of the benchmark and dont like to code for it, but it did highlight real issues and Im grateful about it. :)

Currently ranking 43 of 153, not bad, looking forward for the update

Thanks

krausest commented 2 months ago

Thanks. Please allow me a few days to merge all PRs and publish an update.

krausest commented 2 months ago

Here are the results (left updated or added implementations, on the right last results if available): Screenshot 2024-09-06 at 16 49 11

As one can see from vanillajs the run wasn't very good (though on AC, indexing off, but without rebooting) so I'd expect faster results for the next full run.

titoBouzout commented 2 months ago

Thanks, I expected a bit better, but probably these improvements get lost in all the noise as I am measuring only the lib runtime, not the dom/browser, maybe something else is happening, I should probably start looking at garbage collection some day.