← Back to context

Comment by taminka

1 day ago

it's unironically just react lmao, virtually every popular react app has an insane number of accidental rerenders triggered by virtually everything, causing it to lag a lot

well that's any framework with vdom, the GC of web frameworks, so I'd imagine it's also a problem with vue etc..

I don't understand though why performance (I.e. using it properly) is not a consideration with these companies that are valued above $100 billion

like, do these poor pitiful big tech companies only have the resources to do so when they hit the 2 trillion mark or something?

  • Vue uses signals for reactivity now and has for years. Alien signals was discovered by a Vue contributor. Vue 3.6 (now in alpha/beta?) will ship a version that is essentially a Vue flavored Svelte with extreme fine grained reactivity based on a custom compiler step.

    One of the reasons Vue has such a loyal community is because the framework continues to improve performance without forcing you to adopt new syntax every 18 months because the framework authors got bored.

  • The React paradigm is just error prone. It's not necessarily about how much you spend. Well paid engineers can still make mistakes that cause unnecesssary re-renders.

    If you look at older desktop GUI frameworks designed in a performance-oriented era, none of them use the React paradigm, they use property binding. A good example of getting this right is JavaFX which lets you build up functional pipelines that map data to UI but in a way that ensures only what's genuinely changed gets recomputed. Dependencies between properties are tracked explicitly. It's very hard to put the UI into a loop.

  • It's not a problem with vue or svelte because they are, ironically, reactive. React greedily rerenders.

    It's also not a problem with the react compiler.

  • Nobody gets promoted for improving web app performance.

    • Yes, they do. OGs remember that Facebook circa 2012 had navigation take like 5-10 seconds.

      Ben Horowitz recalled asking Zuck what his engineer onboarding process was when the latter complained to him about how it took them very long to make changes to code. He basically didn't have any.

    • From: https://hpbn.co/primer-on-latency-and-bandwidth/#speed-is-a-...

      > Faster sites lead to better user engagement.

      > Faster sites lead to better user retention.

      > Faster sites lead to higher conversions.

      If it's true that nobody is getting promoted for improving web app performance, that seems like an opportunity. Build an org that rewards web app performance gains, and (in theory) enjoy more users and more money.

  • They have no real competitors, so anything that makes the user even stickier and more likely to spend money (LinkedIn Premium or whatever LinkedIn sells to businesses) takes priority over any improvements.

I think linkedin is built with emberjs not react last i checked…

The problem with performance in wep apps is often not the omg too much render. But is actually processing and memory use. Chromium loves to eat as much ram as possible and the state management world of web apps loves immutability. What happens when you create new state anytime something changes and v8 then needs to recompile an optimized structure for that state coupled with thrashing the gc? You already know.

I hate the immutable trend in wep apps. I get it but the performance is dogshite. Most web apps i have worked on spend about 10% of their cpu time…garbage collecting and the rest doing complicated deep state comparisons every time you hover on a button.

Rant over.