|
3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
|
|
Оптимизация15.08.2020, 12:10. Показов 2718. Ответов 26
Метки нет (Все метки)
Добрый день у меня есть выбор постоянно разыменовывать указатели их в коде около 50 штук. И у меня стоит выбор раскидать по функциям где будет использоваться не "->", а "." или оставить как есть какой вариант быстрее? И будет ли толк от __forceinline если раскидать по функциям и использовать "class.method" вобщем прямой доступ к полю? Скорость программы критична прям вообще край)
0
|
|
| 15.08.2020, 12:10 | |
|
Ответы с готовыми решениями:
26
|
|
Вездепух
13177 / 6813 / 1821
Регистрация: 18.10.2014
Сообщений: 17,237
|
|
| 15.08.2020, 12:28 | |
|
Ничего не понятно. Каким образом "раскидывание по функциям" может привести к использованию
. вместо ->? Доступ через ссылку вместо доступа через указатель? На производительность это никак не повлияет.
0
|
|
|
3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
|
|
| 15.08.2020, 12:43 [ТС] | |
|
Нет не через ссылку. Я знаю что на разыменование указателя расходуется ресурсы и время. Данные лежат в структуре структура передается через указатель для получения доступа к полям соответсвенно применяется разыменование "->" операций с этими данными много около 10-20 на каждый участок всего их 5. Я думаю что будет быстрее и лучше добавить в структуру функции и разыменовывать только функции. Выходит что доступ у структуры будет прямой через "." . Что лучше по производительности оставить как есть или все операции раскидать по функциям???
0
|
|
|
653 / 466 / 183
Регистрация: 23.04.2019
Сообщений: 1,987
|
||||||||||||
| 15.08.2020, 13:54 | ||||||||||||
|
del
Добавлено через 1 час 6 минут Добавлено через 2 минуты Просто например
0
|
||||||||||||
|
3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
|
||||||
| 15.08.2020, 14:07 [ТС] | ||||||
0
|
||||||
|
3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
|
|
| 15.08.2020, 14:50 [ТС] | |
|
AndryS1, Выходит они совершенно одинаковые!!! Огромное спасибо)
0
|
|
|
Вездепух
13177 / 6813 / 1821
Регистрация: 18.10.2014
Сообщений: 17,237
|
|
| 15.08.2020, 19:27 | |
|
0
|
|
|
3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
|
|
| 15.08.2020, 20:43 [ТС] | |
|
TheCalligrapher, а там прямой доступ (без ".v"). Я случайно написал забылся))
0
|
|
|
Вездепух
13177 / 6813 / 1821
Регистрация: 18.10.2014
Сообщений: 17,237
|
||||||||||||
| 15.08.2020, 20:57 | ||||||||||||
this. То есть, например,
this при помощи все того же оператора ->. То есть этим вы ничего не изменили вообще.(Правильнее говорить: (*this).d, (*this).a и т.д. но в данном конкретном случае это не принципиально)
0
|
||||||||||||
|
3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
|
|
| 15.08.2020, 21:54 [ТС] | |
|
TheCalligrapher, ого откуда такая информация?)) Где Вы все берете эти тонкости?
0
|
|
|
Вездепух
13177 / 6813 / 1821
Регистрация: 18.10.2014
Сообщений: 17,237
|
||
| 15.08.2020, 22:01 | ||
this - работают методы классов.
0
|
||
|
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,816
|
|
| 16.08.2020, 04:17 | |
|
0
|
|
|
19500 / 10105 / 2461
Регистрация: 30.01.2014
Сообщений: 17,818
|
||
| 16.08.2020, 22:21 | ||
Сообщение было отмечено sourcerer как решение
Решение
1
|
||
|
1358 / 856 / 366
Регистрация: 26.02.2015
Сообщений: 3,816
|
|
| 16.08.2020, 23:01 | |
|
Я никогда не занимался таким, но думается мне, что тебе нужно копать в сторону профилирования, но опять же, это стоит делать, когда уже есть какой-то работоспособный результат приложения.
1
|
|
|
3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
|
|
| 18.08.2020, 09:31 [ТС] | |
|
Avazart, Ваши варианты? Может предложите что то более серьезнее?)
0
|
|
|
фрилансер
6465 / 5678 / 1131
Регистрация: 11.10.2019
Сообщений: 15,118
|
|
| 18.08.2020, 09:47 | |
|
warcraft33, нескромный вопрос: а программа уже написана и работает?
0
|
|
|
3 / 4 / 3
Регистрация: 23.04.2017
Сообщений: 186
|
|
| 18.08.2020, 10:01 [ТС] | |
|
Да, если это можно назвать программой))
0
|
|
| 18.08.2020, 10:01 | |
|
Помогаю со студенческими работами здесь
20
Оптимизация Оптимизация Оптимизация программы Оптимизация кода Оптимизация программы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|