|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.05.2010, 14:17 | #11 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
сейчас сравнил размер скомпилированного файла без inline и с inline. Размеры идентичы. Поидее, подставляя функцию, размер должен увеличиваться... к тому же, я повторил эту функцию два раза. Размер остался прежним. Компилирую через gcc.
|
29.05.2010, 14:24 | #12 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Если компилятор исполнит ваше пожелание, то разницы не будет совсем. Но он может и без inline оптимизировать так, что разницы опять же не будет совсем. Капризы компилятора непредсказуемы в общем случае.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
29.05.2010, 14:24 | #13 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 328
|
Не оптимизируй, пока это не понадобится, как-то так звучит, не помню точно.
Превыше всего читаемость, а у switch() она побольше будет, да и сделать со switch() разные штуки удобней, чем с if.. else if ... А насчет inline : пока вам это не нужно, лучше не писать, ибо нынче компиляторы сами лучше находят места, хде функцию встроить, а хде нет. |
29.05.2010, 14:29 | #14 | ||
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Цитата:
Цитата:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
||
29.05.2010, 14:47 | #15 |
Форумчанин
Регистрация: 26.04.2010
Сообщений: 328
|
В общем много кто такое говорил и разными словами, но смысл всё равно один =)
Хотя это уже оффтоп. |
29.05.2010, 15:00 | #16 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,065
|
Если так важна скорость работы, то нужно анализировать входные и выходные данные и т.п. Может тут не нужны ни if, ни switch, а лучше все возможные значения поместить в коллекцию с быстрым поиском по ней. Или вообще сравнивать не строки, а их хеши. Тут миллиард вариантов оптимизации можно придумать и выбор наиболее подходящего из них зависит от задачи. А вообще может там и цикл не нужен будет и следует кардинально изменить алгоритм работы программы.
|
29.05.2010, 15:12 | #17 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Понятно. А как быть с переменными? Например, если все делать в функции main, то и других функций не нужно, и переменных глобальных тоже не надо. А если распределять задачи по функциям, то придется делать переменные глобальными, что бы все функции могли к ним обратиться, а это опять же влияет на скорость работы. Ведь проще считать и записать значения в локальную переменную, чем в глобальную (опять же по несколько раз за секунду).
|
29.05.2010, 15:23 | #18 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Во-первых, есть такая вещь, как передача параметров в функцию. Даже более того - передача параметров по указателю и ссылке.
Во-вторых, если уж совсем все делать в функции main, то на кой нам функции, страшные-престрашные классы (про шаблоны, STL, исключения и прочие ужасти я вообще молчу)! В-третьих, а вы уверены, что вашей программе действительно необходима хоть какая-то оптимизация. По-моему, для ваших программ главный критерий - чтоб работало правильно, а уж оптимизацию оставьте до более-менее крупных проектов.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
29.05.2010, 15:23 | #19 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Во-первых, есть такая вещь, как передача параметров в функцию. Даже более того - передача параметров по указателю и ссылке.
Во-вторых, если уж совсем все делать в функции main, то на кой нам функции, страшные-престрашные классы (про шаблоны, STL, исключения и прочие ужасти я вообще молчу)! В-третьих, а вы уверены, что вашей программе действительно необходима хоть какая-то оптимизация. По-моему, для ваших программ главный критерий - чтоб работало правильно, а уж оптимизацию оставьте до более-менее крупных проектов.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
29.05.2010, 15:30 | #20 |
Форумчанин
Регистрация: 05.06.2007
Сообщений: 529
|
Про передачу параметров известно, но если в этой функции цикл или какой либо код повторяется, и нужно из функции обратиться к переменной не один раз...
а вообще какие минусы или уязвимости могут быть у глобальных переменных? Стоит ли их избегать, и стараться как можно меньше делать глобальных переменных, или на против, не бояться и сразу объявить все нужное? |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на switch | ProgramerBeatz | Общие вопросы C/C++ | 12 | 25.01.2011 00:59 |
switch | Dimarik | Общие вопросы C/C++ | 4 | 11.04.2010 15:56 |
switch и string??? | i-cpp | Общие вопросы C/C++ | 7 | 12.02.2010 14:58 |
SWITCH 8 портовый | SKS | Компьютерное железо | 3 | 29.01.2009 03:39 |
Switch | Division | Общие вопросы C/C++ | 3 | 11.01.2009 23:52 |