JS Framework Benchmark for Deku - the results are in!

My Sunday benchmark binge has yielded the following result. Deku is the third-fastest framework on the list! It’s only slower on average (by a hair) than Vanilla JS and Solid JS, and is considerably faster than most popular frameworks.

Deku’s design is heavily biased towards reactivity, and for the reactive benchmarks, it’s often faster than vanilla JS. The tradeoff is that it’s “slow” when adding 10k elements to a table (instead of 3rd fastest it’s 4th!). I don’t think this is an inherent limitation in the framework, it’s just a product where my attention has gone, and I hope to optimize this part of the framework some day.

Deku will be even faster once some PRs land in the backend optimizer, but for now I’m pretty happy with the result :grin:

Here are some additional links:

22 Likes

Congrats man! Getting here has definitely taken some blood, sweat, and tears.

7 Likes

Hi @mikesol congratz on this milestone, very impressive. Would you mind adding a paragraph or two about what tricks did you use to make it so fast? And how is the architecture and implementation different than some other choices such as halogen, react, solid, svelte?

Do you have the page where one can browse the results? I would like to see the comparison VS some other purescript frameworks like halogen

4 Likes

Thanks!

I’m planning on writing an article on these optimizations & the Hyrule architecture when I have time, I’ll ping you when it’s done!

6 Likes

This is great! This will increase the visibility of Purescript within the larger web community. But why can I not see the results here? Is the update to include Deku not merged?

And I look forward to the articles as well!

1 Like

Hi!

We actually tweaked the framework a bit since then and the benchmarks got worse.

The JS benchmark suite anchors on a use case that is outside the scope of what most folks use Deku for, and I made the mistake of tweaking the framework too much to optimize for the benchmark numbers at the expense of its core value prop. I’ve since reverted that, and I hope that once we get we get a few major PRs over the line like SSR and React Native support, we can also publish the benchmarks.

4 Likes