Евгений Шатунов,
> "include guard"-ы
Вместо этой динозаврской штуки пишу `#pragma once` как белый человек. Да, эту директиву помечали устаревшей, но на сегодняшний день ее вернули в стандарт потому что удобно и она теперь намного лучше оптимизируется. Многие могут об этом не знать и считать ее плохим тоном, а всё ровно наоборот.
Евгений Шатунов,
> эвристика с логарифмической трудоемкостью
Кстати где можно почитать точно и кратко про сложности O(N) самых популярных алгоритмов и сортировок?
А то надоели если честно на собеседованиях спрашивать какая сложность пузырьковой там. Я прекрасно понимаю алгоритмы и какой будет быстрее, я пишу эффективные и с математической оптимизацией если надо, не дурак, но там логарифмическая, линейно-логарифмическая, полиномиальная, квадратичная вообще хрен знает. Мне без разницы, по коду вижу какой будет быстрее, но всякие яндексы спрашивают эти теории. Кто-то может заучить O(N) но вообще не соображать, я как раз наоборот. Правильно мыслить вообще более ценно чем что-то заучить. Но мне выучить тоже надо.
Евгений Шатунов, всё супер, просто я неправильно настроил свой Makefile и не использовал make -j :) Быстро собирает объектные файлы, всё хорошо.
Но вообще для всего сообщества проблема актуальна, и теперь я уже узнал почему компилятор так долго работает — оказывается это не простая трансляция c++ в asm с заменой по словарю AST-дерева на ассемблерные инструкции, а намного более сложная и долгая процедура.
Лично меня это больше уже не беспокоит, всё летает.
Мирон, всё более-менее нормально, просто я неправильно настроил свой Makefile и не использовал make -j :) Быстро собирает объектные файлы, всё хорошо.
Но вообще для всего сообщества проблема актуальна, и теперь я уже узнал почему компилятор так долго работает — оказывается это не простая трансляция c++ в asm с заменой по словарю AST-дерева на ассемблерные инструкции, а намного более сложная и долгая процедура.
Евгений Шатунов, так не работает так как я себе представляю. Вопрос — почему. Там же ничего сложного кроме оптимизаций. Если их отключить — то останется подмена одного на другое. Разработчики компиляторов же не дураки делать медленные компиляторы? Или :)