this post was submitted on 11 Feb 2025
293 points (95.6% liked)

Technology

62073 readers
6597 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 71 points 1 day ago* (last edited 1 day ago) (2 children)

The fact that you can achieve a constant average query time, regardless of the hash table’s fullness, was wholly unexpected — even to the authors themselves.

WTF?

I mean first of all, the "article" is just crap IMO, like only hinting att "anazing" things. But also containing basic errors like the above. It's like they don't understand complexity, a constant average time on what? A specific size of a hash table? Or do they mean it scales linearly with its size? Just go through the whole table and voila you have constant time already.

So if they did find something, it's not well explained in the article IMO. Shame, cause those kind of things are interesting, IMO.

Edit: looks like they "cheat" (in a good way) to "reorder" the table to get their results with smarter inserts (their 'elastic hashing') so to not reorder the table. If so, then it's very smart but not groundbreaking. I'm sick and just skimmed the paper, don't kill me.

[–] [email protected] 11 points 1 day ago* (last edited 23 hours ago) (1 children)

"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

[–] [email protected] 6 points 1 day ago

...before the program even exists...?

[–] [email protected] 2 points 18 hours ago (1 children)

They managed to get the time to O(1)

[–] [email protected] 6 points 17 hours ago

The article is discussing how to reduce the constant time factor which depends on the filling fraction, which is a speed-memory tradeoff when creating the hash table.

The innovation described allows for the use of fuller tables which are resized less frequently, or faster insertion/retrieval for the existing filling fraction.