I would like to invest in a build server to decrease the time of g++ compilation. Since the sources are parallelizable, our idea is a many-core system. (32-48-64 cores)

My question is that what type of cpu operations are used during the compilation process? (new AMD cpu's have only 1 floating point unit for 2 cores)

Usually CPUs are benchmarked with a lot of software, but I cannot find any website where CPUs are tested for compiling. Which types of software works similarily to a g++ compiler? (x264 coding, compressing, encrypting?)

So the basic question is what are the most important parameters of a processor when it would be used exclusively for compiling code?

Thanks.

有帮助吗?

解决方案

Compilers use mostly memory load/store operations and integer operations. They do not use floating point or SIMD at all (except potentially for load/store).

Compiling software usually forms an own class of benchmark, and a hard one. Processor manufacturers do not like these benchmarks as it is usually a hard one to optimize for.

The dominating factor is the memory bandwidth, not the clock frequency. Of course it all plays together. But you want wide access to memory, you want big caches on all levels. You do not want 10% more clock speed and half the cache size for example.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top