These 20 async calls don't actually need to reestablish the connection nowadays, so you don't actually get a significant performance penalty anymore for doing multiple requests.
Unless the requests are triggered after another request finished of course. That's still significantly impacting loading times
> These 20 async calls don't actually need to reestablish the connection nowadays, so you don't actually get a significant performance penalty anymore for doing multiple requests.
Because in practice, the 20 async calls are never actually made in parallel. The site makes one call, waits for it to finish, downloads a few more scripts, makes another call, parses the results of that call using an accidentally-quadratic-time algorithm, sends a bunch of tracking events over WebSockets and waits for them to finish, makes another call, uses that call to trigger a full-page React/Redux re-render, schedules another call in an asynchronous render effect handler...
I used to run without an ad blocker to support the websites I visited, but then too many would rev up my CPU and freeze my browser just because of all the ads they loaded. The experience of clicking a link started to become unbearable, and I went back to blocking ads.
I know that circa 2018 the ad industry suffered a shock as major players started measuring more precisely what value ads brought, and CPC went down, I think things just got worse at this point because websites crammed more ads in response.
Reddit and Medium are awful for this. I don't know what they're doing, but every page has a small chance of infinitely looping to max out a CPU core forever, unless you block their ads. I'll feel my laptop heating up and know that some Reddit thread somewhere is to blame.
I've had to dial-back my ad blocker over the last six months or so.
More and more web sites stall, or refuse to load at all with ad blockers enabled. Even ad-free ones like government web sites, because they use the same tracking mechanisms.
Whenever I do this, I think of the old joke about the prison where all of the prisoners knew the same bunch of jokes by heart, so instead of telling a whole joke, they would just call out a number and everyone would crack up.
You should not have to look this one up: xkcd 624.
Later that day when everybody is at their cells some other guy yells: "194". And,as usual, all people laugh.
Another one says "315". Even more laughter. Another: "873", the place is a mad house.
Emboldened and wishing to fit in, the new guy yells: "242".
Total silence. Not even a little chuckle. Embarrassed the new guy turns toward his cellmate and asks him: "What did I do wrong?,Isnt 242 a good joke?". His cellmate says: " it is indeed a good joke, it is hilarious.But you see, son, a joke is not just the story, the most important part is the way you tell it"
I wasn't trying to tell that joke--I figured that everyone here knew it already. Maybe there was someone who hadn't, though! So I'm appreciative that you helped them enjoy the joke. Xkcd 1053.
Yeah this is something people love to gloss over. On good 5G the connection latency might be 15-20ms to some topographically "close" server. Realistically that's an absolute minimum and you'll see 50-100ms latency to actual servers.
When work depends on those resources it can't even start until all the data is returned. Far too often nothing can happen until a case are of resources gets returned. Then there's the fun outlier of some slow AdTech script that finally returns, screws with the DOM, and causes a layout and repaint.
It's just today's "What Andy Giveth, Bill Taketh". Great job all around everyone.
Unless the requests are triggered after another request finished of course. That's still significantly impacting loading times