The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Влияние несущественных изменений кода на производительность ..., opennews (??), 09-Окт-18, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


69. "Влияние несущественных изменений кода на производительность ..."  +/
Сообщение от Аноним (-), 12-Окт-18, 10:10 
> сделать inline, а не директивным указанием. Точно так же как пресловутый
> register в определении переменных.

Register так вообще считается deprecated, в плюсах им вообще пользоваться не следует. Потому что пытаться хинтить компилятору аллокацию регистров - дело тухлое. А если ну очень хочется, есть asm() и intrinsics, наконец. В остальных случаях компилятор и сам догадывается как регистры раскинуть, так что втыкание "register" ничего не дает кроме лишней писанины.

>> GCC теперь Apple пишет? "Мы знаем лучше что вам надо"?
> apple занят, он пишет llvm, и у него все хорошо с инлайнами

Зато у него почему-то хваленая скорость компиляции ушла в плинтус как только им захотелось производительность кода сколь-нибудь сравнимую с gcc.

> и добавили нечеловеческой логики в это незнание.

...а разработчики шланга собезьянили, как обычно?

Ответить | Правка | Наверх | Cообщить модератору

74. "Влияние несущественных изменений кода на производительность ..."  +/
Сообщение от пох (?), 12-Окт-18, 10:24 
> Потому что пытаться хинтить компилятору аллокацию регистров - дело тухлое.

смотря на какой архитектуре.

> В остальных случаях компилятор и сам догадывается как регистры раскинуть,

"в остальных случаях компилятор и сам догадается, что заинлайнить". Вот он и "догадался".

Ответить | Правка | Наверх | Cообщить модератору

77. "Влияние несущественных изменений кода на производительность ..."  +/
Сообщение от Аноним (77), 12-Окт-18, 12:07 
>сам догадывается

я проверял, у меня он догадывался на простом счётчике для перебора массива только после компиляции с инфой профилирования (pgo), разница производительности что-то там в районе 3-4 порядков была. Просто космос. Добиться такого же результата позволяло добавление register, поэтому говорить можно что угодно.

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

78. "Влияние несущественных изменений кода на производительность ..."  +/
Сообщение от Аноним (78), 12-Окт-18, 14:04 
> Register так вообще считается deprecated, в плюсах им вообще пользоваться не следует.

Да-да. Давеча вот такое видел от GCC 8:

warning: ISO C++17 does not allow ‘register’ storage class specifier [-Wregister]

Ответить | Правка | К родителю #69 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру