4 ms·
But what is practised is often “the best that's not slow enough to affect development cycle”, so it is something of a recursive definition.
by jgtrosh 6y ago
But what is practised is often “the best that's not slow enough to affect development cycle”, so it is something of a recursive definition.
- segfaultbuserr 6y agoWhen I asked this question, I make the distinction between "currently used optimization techniques and algorithms vs their implementations in GCC/clang". How large is the gap? If the gap is small, it means the algorithms as currently used for optimizations are inherently expensive (i.e. a "good" compiler "must" be slow). if the gap is large, it means a much faster implementation is theoretically possible (i.e. a "good" compiler "can" be fast).
- millstone 6y agoLLVM does indeed use known suboptimal algorithms for increased speed. Its register allocator is an example: a "perfect" register allocator is NP complete, and LLVM uses a relatively simple greedy algorithm instead.