this post was submitted on 07 Apr 2026
73 points (86.9% liked)

Programmer Humor

41756 readers
147 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 6 years ago
MODERATORS
 

Just a shower thought I had when thinking about claims like "80% of all code will be written by AI"...

you are viewing a single comment's thread
view the rest of the comments
[โ€“] fragrantvegetable@sopuli.xyz 7 points 2 days ago (1 children)

My understanding was that clang isn't deterministic by default but can be made deterministic with flags. I checked and this is still true but not for the reasons I thought. I assumed this was due to the way LLVM iterates over functions and basic blocks in a non-deterministic order (because of the way they are laid out in memory) and because some optimisations use heuristics. But it appears LLVM tries to make all optimisation passes deterministic. The remaining non-determinism comes from file paths and timestamps which can be worked around with the correct flags and some extra work to create reproducible builds.

[โ€“] jenesaisquoi@feddit.org 1 points 2 days ago

Thank you very much for looking it up! I learned something new thanks to you.

So I guess in the end it is deterministic, because for a given set of inputs it always produces the same output, it's just that file paths and timestamps must also be considered as input.