Я хотел бы инвестировать в сервер сборки, чтобы уменьшить время компиляции g ++. Поскольку источники параллельны, наша идея - многоядерная система. (32-48-64 ядра)Операции CPU во время компиляции g ++
Вопрос в том, какие типы операций процессора используются во время процесса компиляции? (новые процессоры AMD имеют только 1 модуль с плавающей запятой для двух ядер)
Обычно процессоры сравниваются с большим количеством программного обеспечения, но я не могу найти веб-сайт, на котором тестируются процессоры для компиляции. Какие типы программного обеспечения работают аналогично компилятору g ++? (x264 кодирование, сжатие, шифрование?)
Итак, основной вопрос - это наиболее важные параметры процессора, когда он будет использоваться исключительно для компиляции кода?
Спасибо.
Компиляторы - это в основном целые задачи с большим количеством разветвлений и поиска символов/случайного доступа. Таким образом, это существенно отличается от кодирования/сжатия/шифрования и т. Д. Таким образом, вы, вероятно, захотите что-то с сильным целым числом, коротким контуром процессора и, возможно, быстрой памятью. Плавающая точка и SIMD не важны вообще. Тем не менее, я не совсем уверен, так как я только задумываюсь. – Mysticial
Довольно многое, что говорит Мистик. Короткий трубопровод, по крайней мере средний объем кеша. Являются ли ваши источники действительно 64-кратными параллелизуемыми? –
Благодарим вас за ответы. Это программное обеспечение состоит из многих модулей в четко определенной иерархии. Кодовая база составляет около 1,5 млн. Строк. Нет, мы скомпилируем его в 32 потоках. Таким образом, могут быть поданы и 64 потока, или независимые модули могут быть распараллелены по потокам 16-32 в vservers. – Senki1988