Remix.run Logo
ryansolid 12 hours ago

Yeah and I always found that really unfortunate. The truth is the JS Framework Benchmark hasn't really moved more that fractions of a percentage since we first hit the mark 7 years ago. Sure many frameworks have been on their way to catch up or have matched us since, especially in the last 2 years when they started adopting our architecture. But nothing is moving the dial. We might not be the fastest on there today but I view now as a line to hold, not as a place where any measurable gains can be made.

We can throw up a JS Framework Benchmark.. I obviously tested it a bunch locally, but mostly as a regression test. I also used Octane's new benchmark suite. Same sort of conclusions though. Everyone basically doing the same thing, some with compilers and some with more manual wiring (I haven't gone in and made PRs to update those to add that to Solid implementations in theirs), to the point this isn't a contention point. It was when everyone was as slow as React. But now everyone is more or less as fast as Solid.

Bundle size there is a regression though. Its natural cost of this feature. Async everywhere, means async doesn't tree shake. Hello World went from 4.7kb to 9.8kb simply because we can't tree shake it. I'm ok with that given what we deliver. Not everyone will be I'm sure. Svelte has also grown in size similarly over the same time. Basically leaving only minimalist solutions in that ~5kb range.. ie Preact + Signals etc..

But it also isn't really an announcement headline. So it is where we are at. I guess the takeaway. Still fast, still incredibly small considering what it does.

AlexErrant 12 hours ago | parent [-]

A worthy and pragmatic tradeoff.

I've always appreciated Solid's DX/mental model (I _never_ have to think "when does this re-render?") so v2.0's continued wins on DX are remarkable. I never thought a release could be about how much can we _cut_. Primitives at work!