Чому компіляція програм на C++ займає так багато часу?

Липень 18th, 2011

Переклад статті “C++ Compilation Speed“. Кроспост на розробці

Люди часто скаржаться на те, що написаний на C++ код вимагає надто багато часу для компіляції. Настільки багато, що іноді повну збірку великих проєктів доводиться відкладати на ніч.

Повільна компіляція навіть стала однією з причин появи мови Go. Я уже досить давно займаюсь розробкою компіляторів і ця проблема не давала мені спокою. Чому все так довго? Розробники компіляторів C++ — професіонали своєї справи, тому, скоріше за все, причину слід шукати у самій мові програмування. Швидкість роботи різних компіляторів дуже відрізняється, але програми, написані на інших мовах програмування, компілюються однозначно швидше.

Я займаюсь розробкою компіляторів для C++ з 1987. Комп’ютери у ті часи були значно повільніші, ніж зараз, і проблема швидкості компіляції стояла дуже гостро. Чимало часу було витрачено на профілювання на дослідження причин повільної
роботи.
(ще…)

Категорії: C/C++ | Теґи:, | Коментарів: 1