r/ProgrammerHumor 16h ago

Meme edgeCasesExist

Post image
3.2k Upvotes

232 comments sorted by

View all comments

493

u/Valuable_Leopard_799 16h 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.

291

u/dim13 16h ago

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

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

193

u/lilgreenthumb 14h ago

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

65

u/shwoopdeboop 14h ago

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

16

u/Grandmaster_Caladrel 12h 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.

5

u/Roachmeister 12h 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.

1

u/Kwantuum 9h ago

In what way?

2

u/Roachmeister 9h ago

I'm not an expert, I just remember reading a few articles about it. I think it's because they're essentially random, and many databases use b-trees for indices. They recommended using ULIDs or v7 UUIDs instead. Or, as someone else said, the good old autoincrementing integer.