Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

In general, most compilers are generally single-threaded for most of the compilation process--at the very least, compiling a single file (translation unit) is almost always done using just one thread.

However, nondeterminism does creep in in various places in the compiler. Sorting an array by pointer value is an easy way to get nondeterminism. But the most common nondeterminism in a build system comes not from the compiler but the filesystem--"for file in directory" usually sorts the file by inode, which is effectively nondeterministic across different computers.



Yes, that's why I was so careful with the wording. Timestamps are another example.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: