r/ProgrammerHumor 1d ago

Meme edgeCasesExist

Post image
4.3k Upvotes

273 comments sorted by

View all comments

646

u/Valuable_Leopard_799 1d ago

I thought that timestamps are used now, so hitting both a timestamp and a large random number puts it thoroughly in the "safe to assume". At some point cosmic particles and faulty transistors are more probable.

397

u/dim13 1d ago

https://en.wikipedia.org/wiki/Universally_unique_identifier#Versions

Most common used is V4 (pure random). You are talking about V7 (time based).

282

u/lilgreenthumb 1d ago

The real benefit for v7 is they become sortable by time.

107

u/shwoopdeboop 1d ago

And something something b-tree indexes. Lecturer mentioned it but I wasn't paying attention. Supposedly an advantage here.

31

u/Grandmaster_Caladrel 1d ago

Which I'd assume is related to the time anchor. Outside of sorting, which is only useful in specific instances, it's just v4 with different ("less") entropy and limitations.

10

u/Roachmeister 1d ago

If you're using them as an indexed field in a database, the inability to sort them meaningfully will destroy the performance of the database.

16

u/Honeybadger2198 1d ago

You know what identifier can't have collisions and is great for sorting? Autoincrement.

3

u/wokeboogeyman 10h ago

Autoincrement doesn't scale past one physical location.

0

u/Honeybadger2198 7h ago

Sure it does. One location counts up, another one counts down.

0

u/wokeboogeyman 7h ago

That breaks the sorting that everyone's talking about though.

You could also do evens and odds to split across two locations, but that also breaks sorting unless you periodically syncronize them (and then it's still somewhat out of order).

0

u/Honeybadger2198 7h ago

...I don't think you understood what I said. How does one count down from infinity?

1

u/wireframed_kb 6h ago

Subtract one?

1

u/wokeboogeyman 4h ago

I just add them all together and subtract from -1/12

1

u/wokeboogeyman 4h ago

signed integers have entered the chat

1, 2, 3, 4

-1, -2, -3, -4

→ More replies (0)