Remix.run Logo
▲ meerita 2 hours ago

I don't know how they perceive the performance. I see 41 network requests. That's 2.1 MB of CSS over the wire, blocking rendering and hurting painting and loading speed. There's 400 KB of Tailwind, 87 KB of general CSS, plus another 200 KB of other general CSS. They need to embrace functional CSS properly. I'm sure they could have a single CSS file under 80 KB that renders everything.

▲karolusrex an hour ago | parent [-]

These type of comments often come from a place of arm-chair reasoning where you might not sit on the experience of working hands-on in a large team on a large product. While it’s probably true that X kB sufficient, that amount of performance optimisation is usually not warranted at this scale. Maintaining a design system, working with scoped classes, legacy code, and dealing with the complexities of chunking and probably further challenges we are not aware of from the outside. It seems like a common sentiment on HN (maybe not you in particular) is that engineers should drop everything and work overtime on optimizing performance, when it comes to web apps

▲eviks 8 minutes ago | parent | next [-]

> that amount of performance optimisation is usually not warranted at this scale.

Indeed, you need to waste a few years hurting user experience before investing a few years into migration and writing another "improved performance" blog post.

> that engineers should drop everything and work overtime on optimizing performance

The opposite, they should work less time instead of more doing a worse job that results in scraping all their output later in a redesign

▲meerita an hour ago | parent | prev | next [-]

The beauty of functional CSS is that you can progressively transform everything. GitHub runs on entire modularized codebase, they can clean up the entire codebase within weeks, days if they use agents and see the effects of performance instantly.

▲austin-cheney an hour ago | parent | prev [-]

The shitty team excuse.

Performance is not complicated. You measure something and compare the numbers. Through my career I have encountered the following failures repeatedly:

* The complete inability to measure things. This is common among people with low social intelligence. Many people in this line of work cannot measure things and form all kinds of bullshit excuses. Cannot do it all as if they are disabled. Sometimes it is laziness, sometimes it’s autism masking, and sometimes it’s stupidity/ignorance where they believe they shouldn’t have to or are superior from convention alone.

* The shitty team argument. It’s common for people to intentionally avoid or discard measures because there is fear superior performance may indicate an operating deficit. The last thing anybody in software wants is to change approach if they are on a shitty team, because corporate developers are allergic to training people. This is often justified by asking what happens if you work on a team or about new hires.

* Throwing performance data away and lying about it. This is very common when performance data provides evidence that current conventions or favorite tools harm performance. If, for example querySelectors measure 100,000 times slower than some other approaches developers will pretend the performance evidence just doesn’t exist.

* Guessing. When people suck at what they do they invent their own performance realities. When people guess at software performance they are supremely wrong more than 80% of the time and tend to be wrong by multiple orders of magnitude.

▲karolusrex 4 minutes ago | parent | next [-]

You measure and improve the metric, but at what cost, when should you stop? Have you worked on 1mill loc web app?

▲catlifeonmars 35 minutes ago | parent | prev [-]

You’re confidently making a lot of assumptions that don’t generalize.

For example:

> performance is not complicated

Not to mention all your assumptions about the motivations of people who don’t do optimization well. That one can’t possibly generalize.