Цитата(Jenya7 @ Feb 26 2015, 10:54)

я в main вызываю функции. но я хочу сократить время исполнения. вместо того чтоб тратить время на переход к функциям я могу заинлайнить их. правильно ли я мыслю?
в общем правильно.
С другой стороны, есть очень мудрое правило: "программисту не стоит пытаться быть умнее хорошего оптимизирующего компилятора".
"inline" - это всего лишь рекомендация, при включении оптимизации по скорости компилятор сам решит что делать. А сделать он может вообще на первый взгляд очень странные вещи.
Например, статические функции не члены классов он точно догадается сам заинлайнить (если сочтет нужным), он может вообще порвать функции на куски и эти куски заинлайнить по местам вызова в разных частях исходника..
Так что если сильно интересует оптимизация, то следует глядеть в ассемблерный листинг на выходе и пытаться понять, "могут ли мои шаловливые ручки сделать лучше ?". скорее всего, нет.
Есть, конечно, тяжелая артиллерия, типа __force_inline или как его там. Только необдуманное применение таких вещей может легко привести к противоположным результатам.
А ответ на вопрос "стало ли быстрее" могут дать только сравнительные тесты. В подобных случаях некоторые по началу "красивые" идеи ведут к негативным результатам по совсем неочевидным причинам.
Вот, например, кое-кто с помощью молотка и чьей-то матери заинлайнил все, что движется в надежде получить быстрый код и сократить время на вызов процедур. Код разбух и стал плохо ложиться на instruction cache.. Каков будет результат ?