Время компиляции GCC на Debian Stretch/Buster медленнее, чем на Wheezy/Jessie
В моей компании мы создаем программы для разных версий Debian. Мы используем цепочки сборки Jenkins с виртуальной машиной на ESXI.
Программа компилируется с GCC. На основании некоторого теста мы обнаружили, что время компиляции на Stretch/Buster на 50% медленнее, чем на Wheezy/Jessie.
Например, простая программа Hello World:
jessie
------
real 0m0.099s
user 0m0.076s
sys 0m0.012s
buster
------
real 0m0,201s
user 0m0,168s
sys 0m0,032s
Для небольших программ это не очень важно, но для более крупных проектов разница во времени действительно заметна (даже с -O3 Falgs):
jessie
------
real 0m29.996s
user 0m26.636s
sys 0m1.688s
buster
------
real 0m59,051s
user 0m53,226s
sys 0m5,164s
Наш самый большой проект занимает 25 минут на Джесси, чтобы скомпилировать против 45 минут на Stretch.
Обратите внимание, что это делается на двух разных виртуальных машинах, но на одной физической машине. Модели процессоров: Intel® Core ™ TM i7-4770 с тактовой частотой 3,40 ГГц.
Я думаю, что одной из причин может быть патч meldown и specter, который применяется к ядру. Но я не знаю, включен ли этот патч на растяжку.
Есть ли у вас какие-либо идеи о возможных причинах такой разницы в производительности? Как я могу это проверить? И как это исправить, если это возможно.
С уважением.