Shared Memory Versioning to improve slow interactions
blog.chromium.org
blog.chromium.org
This is a great example of the positive value to the user of this kind of telemetry. Of course this doesn't mean people aren't also right to fear it's used in ways that aren't in their best interest. No clear moral here, just a data point.
So this isn't a great example because you can indeed see that many requests are redundant and are frequent by visiting a few sites: these facts don't depend on any hardware etc.
Ultimately the source of truth is actual end-user performance. If you’re not measuring that directly, then you’re hoping what you’re doing is a proxy for end-user performance.
Sometimes a suitable proxy is available. Often, it’s not.
The goal isn't (shouldn't be) to just find a bunch of things to optimize but instead to achieve the best balance between complexity and the experience for the vast majority of users given limited engineering resources.
> you have no way of knowing how significant it is in terms of how many sites/user/visits it affects
The way of knowing is getting site visiting statistics
> I'm a big fan of looking at actual performance data
And you'd be looking at exactly that - actual performance data on representative hardware on representative websites, but with more flexibility and more data available given the fact both parts are yours and you can collect anything without any privacy concerns
A "few sites" was a quote from your earlier comment. [1] You're moving the bar. Perhaps you're seeing it isn't quite as easy as you first thought to do a good job with this.
I like to use copy-on-write reference immutable tree storage with self-recycling/self-freeing reference counting shared memory objects. Entities can retain prior versions for as long as necessary and then pop over to new versions when they’re ready, wait free. For ultimate cache and TLB performance, some other approaches (including deliberate copies) can be useful, but I’ve found the approach to be very friendly to multi-thread and multi-process scale for a long time.
Thanks, Google.
er. really? it has no "it has been updated" event, polling it even when unnecessary is kinda the only option. honestly I'm surprised it's only 87%, I would've bet it was much closer to 99%. tbh it makes me wonder if there's some incorrect caching going on in some popular frameworks.
>... and that, in some cases, this could happen hundreds of times per second.
ignoring intentional stuff like cross-tab communication via cookies (there are much better options nowadays, but not all code has switched), yeah - also not all that surprising, but definitely one of those "... but why?" discoveries.