|
71 / 59 / 14
Регистрация: 20.12.2013
Сообщений: 732
|
|
Inline функции24.04.2018, 20:06. Показов 1125. Ответов 3
Метки нет (Все метки)
Embarcadero RAD studio XE8
Проект на 32 бит работает с какой-то скоростью. Ставлю 64 бит - в несколько раз медленнее. В обоих проектах поставлена галочка "генерировать самый быстрый код". Путем поиска обнаружено,что замедление - из-за функции pow. Т.е. похоже, что на 32 бит она как inline, а на 64 - нет. Где это установить в проекте? Вижу только в опциях для делфи что-то про inline.
0
|
|
| 24.04.2018, 20:06 | |
|
Ответы с готовыми решениями:
3
inline assembler VS чтение по указателю Anonynuos ns Или жесткий inline |
|
|
|
| 24.04.2018, 22:00 | |
|
Доброго!
К сожалению дело не в inline. Собственно компилятору все равно есть inline или нет его. Он сам решит как компилить, а inline носит рекомендательный характер. При работе 64x приложения зависит многое: 1) Разрядность ОС 2) Версия ОС (в новых версиях там оптимизировано под 64) 3) Главный атрибут, что программа не в Debag, а скомпилированная. 4) Код, часто то что хорошо для 32, плохо для 64 b наоборот. 5) итд.... И наконец, в билдере специфический 64. В Этой теме делал сравнение
1
|
|
|
71 / 59 / 14
Регистрация: 20.12.2013
Сообщений: 732
|
|
| 24.04.2018, 22:24 [ТС] | |
|
Dinkin, когда pow заменил на умножение (слава богу простой квадрат), то скорость визуально стала примерно одинаковой. Но я надеялся еще что-нибудь сделать, чтобы даже ускорить - простейший пример с заполнением массива на 64 бит отработал в 2.2 раза быстрее. Эх, а здесь все так неоднозначно...
0
|
|
|
|
||
| 24.04.2018, 22:39 | ||
|
Надо еще учитывать, что в билдере, не все внутренние функции переведены в 64, и внутри программы они работают через эмулятор,что замедляет вычисления. А так же размер переменных становится больше. В общем, пока 64 это сомнительное дело. PS. Я 64 приложения, использую пока что для работы с БД (там порядком прирост, так как преимущества в объеме памяти). В остальных вариантах я заметил, везде выигрывает x32, притом просто 32, а не Clang.
1
|
||
| 24.04.2018, 22:39 | |
|
Помогаю со студенческими работами здесь
4
cspin.h inline member function in package class Устронить уведомление: Functions containing switch are not expanded inline W8027 Functions containing some return statements are not expanded inline Inline функции - на сколько должна быть маленькая функция, чтоб она подошла под inline? inline функции vs инструкции inline функций Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|