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

Инлайн-функция замедляет работу - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Даны шесть различных чисел. Определить максимальное из них http://www.cyberforum.ru/cpp-beginners/thread834829.html
Даны шесть различных чисел. Определить максимальное из них. (Определить функцию, находящую максимум из двух различных чисел.) Еще одна подобная тема, и последуют санкции.
C++ Выяснить является ли хоть одно из данных чисел палиндромом(перевёртышем) Даны 2 натуральных числа выяснить является ли хоть одно из них палиндромом(перевёртышем) тоесть таким числом десятичная запись которого читается одинаково слева на право и справо на лево.(определить функции позволяющие распозновать числа палиндромы) http://www.cyberforum.ru/cpp-beginners/thread834825.html
C++ Лучшие ресурсы в Интернет - разработчикам C++
Все источники широко известны - но тем не менее: http://strongcpp.blogspot.ru/2013/04/c.html
C++ Получить все шестизначные счастливые номера
Получить все шестизначные счастливые номера. Счастливым называют такое шестизначное число, в котором сумма ею первых трех цифр равна сумме его последних трех цифр. (Определить функцию для расчета суммы цифр трехзначного числа. Перечитайте правила форума. Тема должна быть создана в соответствующем разделе. Название темы должно быть информативным.
C++ перегрузка оператора вычитания строк http://www.cyberforum.ru/cpp-beginners/thread834812.html
#include "stdafx.h" #include <string.h> #include <iostream> using namespace std; class Stroka{ char str; int len;
C++ Что быстрее, операция присваивания или сравнения? Всем доброго времени суток, такой вод у меня дурацкий вопрос сидит в голове, "Что быстрее, операция присваивания или сравнения?". Вот конкретная задача, почему я это спрашиваю: Пишу приложение в Builder, на форме есть несколько edit-ов, храню булевскую переменную, у которой устанавливаю значение в true если на каком-либо из edit-ов произошло событие onchenge, перед тем как присвоить, я сравниваю,... подробнее

Показать сообщение отдельно
IcyWind
8 / 8 / 2
Регистрация: 19.09.2011
Сообщений: 268
13.04.2013, 12:59  [ТС]     Инлайн-функция замедляет работу
Цитата Сообщение от taras atavin Посмотреть сообщение
Длинно писать, что есть ручной инлайн, можно, а инлайнить большие функции средствами языка нельзя? Что за бред?

Добавлено через 7 минут
Нельзя злоупотреблять инлайном, а не инлайнить длинный функции. Функция может быть в 100 строк и инлайниться в 1000 разных мест в программе, что плохо, другая функция может занимать 5000 строк и инлайниться дважды, что примерно в десятеро лучше. Примерно потому, что важны не строки исходного текста, а байты исполняемого кода, а одно с другим связано не так однозначно, как это интуитивно представляется. Но если большая функция инлайнится один раз в цикл в 1000 шагов, то имеет только один экземпляр, это просто цикл с длинным телом, не более. Наоборот, цикл в инлайн-функции - это просто цикл. Именно ручное избыточное упоминание длинных инлайн-функций плохо. Не само их наличие и не использование в цикле, а именно многократное ручное упоминание.
Спасибо за интересные пояснения) под "ручным упоминанием" вы имеете ввиду?
C++
1
inline void func()
Насколько меня учили, нормальные современные компиляторы с включённой оптимизацией всегда стараются инлайнить функцию в код.
а у вас нет мыслей относительно того, почему наличие директив OpenMP в функции снижает производительность более чем в 2 раза?
 
Текущее время: 07:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru