|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
29.11.2011, 08:39 | #1 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Операторы инлайнятся?
скажите, операторы инлайнятся? и насколько эффективно их использовать по сравнению с обычной ф-й?
Код:
|
29.11.2011, 14:09 | #2 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
вместе Код:
Код:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
29.11.2011, 19:19 | #3 | ||
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Цитата:
глянул, что генерирует дельфи в асме, похоже что inline директива делает свое дело. т.е. все гут. только к чему там wait ? Цитата:
Последний раз редактировалось Warn; 29.11.2011 в 19:21. |
||
29.11.2011, 20:31 | #4 | |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Цитата:
Кстати, аналогичный код для инлайновой процедуры несколько компактней: Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось mihali4; 01.12.2011 в 12:15. |
|
30.11.2011, 11:34 | #5 | ||
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
Цитата:
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
||
01.12.2011, 05:20 | #6 | |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
Цитата:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
Последний раз редактировалось mihali4; 01.12.2011 в 12:15. |
|
01.12.2011, 08:58 | #7 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
получается если все-таки использовать операторы и при этом, если нужна будет эффективность вычислений, нужно описать тело оператора на асме самому и заинлайнить его, так?
|
01.12.2011, 17:48 | #8 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> тело оператора на асме самому и заинлайнить его
асмовские функции (пока?) не инлайнятся. Вобще, имхо, все это кошкины слёзы. При больших объёмах вычислений эффективность их зависит в основном от выбранного алгоритма, а не от того, заинлайнится там что-то, или нет. А при малых объёмах разницу никто не оценит.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
01.12.2011, 19:36 | #9 | ||
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
проверил и точно -
[DCC Error] E2426 Inline function must not have asm block (( Цитата:
Цитата:
и потом, там хоть и С vs asm, но тем не менее отрыв местами впечатляет И много ли существует алгоритмов сложения двух векторов? умножения двух матриц? по-моему, там вся соль лишь, - будут ли это fpu или sse калькуляции и будет ли это блок или разовая акция. вообщем пока я еще пишу для себя мат. модуль ака "glm for delphi", а потом выложу на ваш суд может чего подскажете по оптимизации вычислений) |
||
01.12.2011, 21:10 | #10 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> будут ли это fpu или sse калькуляции
это да, вот как выглядит аналогичный код в x64 проекте: Код:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Операторы | ziganurov2011 | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 24.07.2011 03:04 |
С++ (операторы) | Мари_Ланвейн | Помощь студентам | 1 | 23.12.2010 20:35 |
Операторы ( с ++) | violettta | Фриланс | 13 | 10.12.2010 14:01 |
Операторы | Viconte | Помощь студентам | 5 | 01.11.2010 16:34 |