Hacker News new | ask | show | jobs
by mbrubeck 1437 days ago
A byte is 8 bits long (2^3), so there are 256 distinct values you can store in a byte (2^(2^3) = 2^8 = 256).

A kilobyte is 8192 bits long (2^13), so there are 2^8192 distinct values you can store in a kilobyte.

1 comments

With 98% accuracy, a Hyperloglog can count ~4Bn distinct 64-bit integers in ~1.5Kb.

Without a data structure, this would take GigaBytes (1M times the space).

That's pretty incredible to me.

Do the combinatorics of every possible combination of 4B distinct 64-bit integers that that 1.5kb can represent.

Mind blowing.

If I did the calculations correctly, that's over 20 Exabytes worth of data that ~1.5kb could represent with ~98% accuracy.

20 Exabytes is probably close to all the information stored in Google...

I think what really fastinates me is how much better we can solve a problem if we allows some approximation/uncertainty.