4 ms·
My hyperthreaded [1] Core i7 makes kernel compile jobs fly. [1] http://en.wikipedia.org/wiki/Hyperthreading http://en.wikipedia.org/wiki/Hyperthreading
by csense 13y ago
My hyperthreaded [1] Core i7 makes kernel compile jobs fly.
[1] http://en.wikipedia.org/wiki/Hyperthreading http://en.wikipedia.org/wiki/Hyperthreading
- scotty79 13y agoIt just splits core into sort of two virtual cores. I'm not sure how that could help. Have you check how disabling it influences compiling speed?
- csense 13y ago> I'm not sure how that could help Hyperthreading keeps two threads "hot" in each physical core. When one thread is waiting on memory access, the core can do work on the other thread rather than sitting idle. (Memory access isn't that slow, so switches need to be fast to capture those otherwise-wasted cycles, which is why this is a CPU hardware feature rather than an OS-level software feature.) Purely CPU-bound tasks [1] don't get any performance gains from HT. But almost all real-world applications spend a lot of time reading and writing memory, and memory access is pretty slow compared to CPU speeds, so in practice HT helps (otherwise Intel wouldn't have bothered to develop it and put it on their chips, which probably cost a lot of money). > Have you check how disabling it influences compiling speed? No. But I'd guess it would be substantially less than 100% speedup since they aren't actual, physical cores; but substantially more than 0% speedup since the compiler uses dozens or even low hundreds of megabytes of memory. [1] By "CPU-bound" I mean register-to-register arithmetic. You might also be able to get away with hitting the L1 cache, which is a few KB, without triggering an HT context switch.