Что не так с использованием встроенных функций?

Это может увеличить размер исполняемый, и c++ я не думаю, компиляторы inline-function всегда будут делать их встроенные, даже cxx если вы использовали встроенное c++ ключевое слово. (Или это inline-function другой наоборот, типа того cpp Vaibhav сказал?...)

Я думаю, обычно cxx нормально, если функция inline-function имеет только 1 или 2 оператора.

Изменить: Вот inline-function что об этом говорится в документе inline-function CodingStyle linux:

Глава 15: Встроенная cpp болезнь

По-видимому, существует c++ общий неправильное представление cxx о том, что у gcc есть магия Опция cpp ускорения "сделай меня cpp быстрее" называется "в inline-function линию". Хотя использование inline-functions встроенных строк может быть c++ подходящим (например, как inline-functions средство замены макросов cpp см. главу 12), очень часто c++ это не так. Обильное использование встроенное inline-function ключевое слово приводит к c++ значительному большее ядро, что, в inline-functions свою очередь, замедляет система inline-function в целом вышла из строя из-за больший cxx объем icache для процессора а c++ просто потому что меньше памяти, доступной c++ для кэша страниц. Просто inline-function подумай об этом; промах кеша cpp страниц вызывает поиск inline-functions диска, который легко занимает 5 inline-functions миллисекунд. Есть МНОГО процессоров циклы, которые inline-functions могут войти в эти 5 миллисекунды.

Разумное cxx эмпирическое правило – не встроить cpp в функции, которые имеют inline-function больше чем 3 строки кода inline-functions в них. Ан исключением из c++ этого правила являются случаи где cxx известно, что параметр константа cxx времени компиляции, и в результате этого cxx постоянства вы знаете компилятор inline-function сможет оптимизировать большинство вашей cxx функции во время компиляции. В inline-functions качестве хорошего примера cxx этого более позднего случая, см. встроенную inline-function функцию kmalloc().

Часто люди inline-function утверждают, что добавление к cxx функциям, которые являются inline-functions статическими и используются только cxx один раз всегда выигрывает, так inline-function как есть не является космическим inline-function компромиссом. Пока это технически cpp правильно, gcc способен встраивая cxx их автоматически без помощь, а c++ также вопрос обслуживания удаление cxx встроенного, когда второй inline-function пользователь кажется, перевешивает cpp потенциальное значение подсказки, которая cxx говорит gcc делать что-то, что inline-functions он сделал бы в любом случае.

c++

inline-functions

2022-11-05T00:39:55+00:00