I had the same issue a few years ago. After spending forever looking for a solution online, I found a fantastic video that explained the reason for this degradation: https://www.youtube.com/watch?v=v5BhECVlKJA
TLDW, it has to do with some components (the contact plates) being rated for electronics of the 90s, with higher voltage than today’s devices use. So these components are now subject to below optimal voltages (say, 1.8V or 3.3V), and tiny sparks happen that would not be there at 5V, thus damaging the plate ever so slightly.
Immediately after watching that video, I opened my mouse and scratched the plates with a flat screwdriver. I haven’t had a problem since then (it’s been a couple of years). But if it happens again I know exactly what to do to save my beloved G302.
Also, fuck OneDrive.
“Constant average query time” is not that hard to understand. It means that sometimes access time is e.g. linear, and sometimes you get your content before executing the code. With a hash table large enough and full enough, this can be used to fetch content seconds, minutes, days, potentially years before the program even exists. That’s one hell of a breakthrough.
[edit] /s, oops