Форум программистов, компьютерный форум CyberForum.ru

inline функции - C++

Восстановить пароль Регистрация
 
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 125
05.09.2012, 21:57     inline функции #1
Добрый вечер. Хотелось бы узнать, есть ли минусы у inline функций кроме увеличения размера файла? Везде пишут что использование "жирных" inline фунций, наоборот, отрицательно скажется на производительности, но почему - там не объяснено
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2012, 21:57     inline функции
Посмотрите здесь:

inline функции C++
встроенные функции (inline) C++
Inline функции C++
C++ Inline функции.
C++ inline функции vs инструкции inline функций
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Петррр
 Аватар для Петррр
5915 / 3352 / 333
Регистрация: 28.10.2010
Сообщений: 5,926
05.09.2012, 22:02     inline функции #2
Код inline функций подставляется на место вызова во время компиляции. Если функция большая и часто вызывается, то размер файла естественно увелится.
Avazart
 Аватар для Avazart
6897 / 5137 / 252
Регистрация: 10.12.2010
Сообщений: 22,578
Записей в блоге: 17
05.09.2012, 22:03     inline функции #3
Компилятор может просто произнорировать это слово...
А в других случах сам делать встраивание...

Так что это слово всего лишь пожелание для компилятора
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1234 / 983 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
05.09.2012, 22:04     inline функции #4
Много использования (жирных) инлайн функций — раздувается размер кода и этот код может не влезает в кеши. Вместо того, чтобы часто используемая функция лежала себе в уголке кеша и никого не трогала, её копии плавают по закешированной части программы, уменьшая полезный объём кеша и увеличивая количество промахов.
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 125
05.09.2012, 22:14  [ТС]     inline функции #5
Цитата Сообщение от Петррр Посмотреть сообщение
Код inline функций подставляется на место вызова во время компиляции. Если функция большая и часто вызывается, то размер файла естественно увелится.
Это понятно, вопрос был какие еще минусы у использования таких функций

Цитата Сообщение от Avazart Посмотреть сообщение
Компилятор может просто произнорировать это слово...
А в других случах сам делать встраивание...
Так что это слово всего лишь пожелание для компилятора
Это мне известно, любые ключевые слова фукнции - лишь рекомендация, и хоть хороший компилятор сам решает что и как обрабатывать, различия хочется понимать самому

Цитата Сообщение от ~OhMyGodSoLong~ Посмотреть сообщение
Много использования (жирных) инлайн функций — раздувается размер кода и этот код может не влезает в кеши. Вместо того, чтобы часто используемая функция лежала себе в уголке кеша и никого не трогала, её копии плавают по закешированной части программы, уменьшая полезный объём кеша и увеличивая количество промахов.
Спасибо, это уже понятнее) вопрос исчерпан
Yandex
Объявления
05.09.2012, 22:14     inline функции
Ответ Создать тему
Опции темы

Текущее время: 04:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru