Multithreaded Compiler
Take advantage of multiple cores by compiling multiple separate units simultaneously.
9 comments
-
Stebi
commented
@Warren I'm sure the single pass design doesn't work against multithreading. The compiler has to stop compiling the current unit if it hits other units in the uses clause. It could spawn threads for each unit in the uses clause.
-
Warren
commented
Delphi compilation and its so-called Single Pass design is also inherently Single Threaded. There is not much that can be done here, unless it's to build an entire project group in the background with multiple PROCESSES. Even then, there can be colissions in dependencies and outputs/inputs.
-
gaddlord
commented
Modern C++ compilers are very fast (especially GCC using multi core switch). Do not relly on performance metrics done 10 years ago. There is room for improvement.
-
...because the Delphi compiler is not fast enough...?
-
Stebi
commented
I now have a SSD as development hard drive. Any remaining IO waiting dropped to zero ...so I beg for a multithreaded compiler.
-
Stebi
commented
I think nobody complains about the delphi compilation speed compared to C++, but everything could be faster. The good thing in Delphi is, it is already fast and there is so much room for improvement. Have you ever worked on a project >1 Million lines? It compiles in about 30 seconds (second run, files already cached)...but for me it's about 25 seconds too slow ;-)
-
Osama Alassiry
commented
Somebody complaining about Delphi's compilation speed??? Have you ever used Delphi? Have you ever used Microsoft's C++ or anything else? Try both and compare.
-
Stebi
commented
The first time you compile the bottleneck is indeed the hard drive, but after that everything is cached and raw processor power determinate the compiling speed. I definitely vote for a multithreaded compiler.
-
I am fairly certain that the hard drive write speed is the bottle neck for the compiler, and not the CPU speed.