Mike Stump wrote: ...
Thoughts?
Raw thoughts: 1. Threading isn't going to help for I/O bound portions. 2. The OS should already be doing some of the work of threading. Some 'parts' of the compiler should already be using CPUs: 'make', the front-end (gcc) command, the language compiler, the assembler, linker, etc. 3. The OS will likely be using some of the CPUs for its own purposes: I/O prefetch, display drivers, sound, etc. (and these processes will probably increase over time as the OS vendors get used to them being available). Different machines will also have differing number of CPUs. Old systems will still have one or two cores, Some Dual core may have 160. What will the multi-core compiler design do to the old processors (extreme slowness?) 4. Will you "serialize" error messages so that two compiles of a file will always display the errors in the same order? Also, will the object files created be the same between compiles. 5. Will more "heavy" optimizations be available? i.e. Will the multi-core speed things up enough that really hard optimizations (speed wise) become reasonable?