1B Nested Loop Iterations
1 point by pbrowne011 7 months ago | 2 comments- Someone 7 months agoThe C code is different, doing a bit more than the JavaScript, Python and Go versions:
I suspect/guess they added that to avoid the case where the C compiler is too smart, and forgot to make the other programs do the same thing.int main() { long array[10000]; for (int i = 0; i < 10000; i++) { for (int j = 0; j < 100000; j++) { array[i] = array[i] + j + i; // on that page array[i] = array[i] + j; // what it should be } } }
Also: what do they do to prevent the C compiler from removing that entire bit of code? If they don’t read the resulting data, it may well do that.
- fuhsnn 7 months agoTo be fair, GCC even at -O1 knows the looped statement is non-observable, it's entirely optimized out: https://godbolt.org/z/afjz9h471
- 7 months ago