Berkus
Berkus
Berkus
Berkus
так что это вопрос легко решаемый
DJm00n
Evgenii
ed
Некомпилирующийся шейдер из-за символа каретки.. :с
+
Evgenii
https://isocpp.org/blog/2018/02/n4720
Alexander "SonnySlave"
https://sourceware.org/ml/libc-alpha/2018-02/msg00054.html
🐙 Antony
А они же там оптимизировали malloc с помощью TLS. Что-то в чеёнжлоге этого не видно
Alexander "SonnySlave"
🐙 Antony
Мне казалось что да, сейчас перепроверим
Alexander "SonnySlave"
Мне казалось что да, сейчас перепроверим
Given our recent articles of Glibc enabling a per-thread cache for malloc and Fedora 27 will use glibc 2.26, you may be curious about some of the other features coming to this next version of the GNU C Library.
Оно?
Anton
Предыдущий
🐙 Antony
точно, в прошлом релизе уже выехало http://lists.gnu.org/archive/html/info-gnu/2017-08/msg00000.html
Pepe 🐸
ща затестим
затестил на ноуте своем gcc 5.4 -march=native с -O2 ускоряет в два раза, с -O3 одинаково.
Anonymous
ребят подскажите плс, почему не выводит ничего
http://cpp.sh/7kmmv
🐙 Antony
Vsevolod
@scaredpepe а зачем -O2?
Vsevolod
чай, уже не gcc 2.96 времена
Vsevolod
(как вспомню, так вздрогну)
Pepe 🐸
@scaredpepe а зачем -O2?
разве не это надо юзать для продакшн кода? О3 к тому же вроде как медленнее может быть иногда
Vsevolod
эм, щито
Danil
Vsevolod
еще раз, это все рекоммендации времен gcc 2.96
Pepe 🐸
Danil
Danil
сейчас-то практики как были так и есть -O2 - стабильные оптимизации
Vsevolod
не помню, я помню только, что gcc 2.96 порождал такой код, что Тюринг в гробу вращался
Vsevolod
откуда такие практики?
Vsevolod
я канпилю все пакеты для продакшена исключительно с -O3
Vsevolod
конкретики не вижу
Danil
-O3 может что-то ломать
Vsevolod
что?
Vsevolod
примеры, пруфы
Vsevolod
пока это балабольство
Vsevolod
где такое написано?
Vsevolod
пруфы, Билли
Danil
>-O3: the highest level of optimization possible. It enables optimizations that are expensive in terms of compile time and memory usage. Compiling with -O3 is not a guaranteed way to improve performance, and in fact, in many cases, can slow down a system due to larger binaries and increased memory usage. -O3 is also known to break several packages. Using -O3 is not recommended. However, it also enables -ftree-vectorize so that loops in the code get vectorized and will use AVX YMM registers.
Danil
гнета вики, например
Vsevolod
читал
Vsevolod
-O3 Optimize yet more. -O3 turns on all optimizations specified by -O2 and also turns on the -finline-functions, -funswitch-loops, -fpredictive-commoning, -fgcse-after-reload,
-ftree-loop-vectorize, -ftree-loop-distribute-patterns, -fsplit-paths -ftree-slp-vectorize, -fvect-cost-model, -ftree-partial-pre, -fpeel-loops and -fipa-cp-clone options.
Vsevolod
вот и все, что написано про -O3
Vsevolod
в документации к компилятору ни о какой опасности -O3 не говорится
Danil
а в документации от людей собирающих все и вся говорится о реальных проблемах, с которыми люди сталкивались
Pavel
я ещё во времена глючного четвертого гцц сидел на генте с О3 пару лет и ничего
Alexander "SonnySlave"
Vsevolod
я сам собираю все и вся и являюсь уже 13 лет коммиттером портов FreeBSD
Oleg
Я сижу на генту. Натыкался, что какой-нибудь UB-код с -Ofast перестаёт работать, а так вроде нормально. Так что я бы сказал, что для своих проектов использовать -O3/-Ofast — самое то (даже на проде), а для всякого скачанного опенсорса может и не стоит.
Vsevolod
пруфов нет
Danil
и тогда вопрос, почему же -O3, а не Ofast?
Vsevolod
есть только угрозы бана за просьбу обосновать точку зрения
Igor
Alexander "SonnySlave"
я как-то искал инфу про нестабильность O3, но так ничего стоящего от компиляторо-писателей не нашёл
Vsevolod
мощный аргумент, чо
Pepe 🐸
Evgeniy
-O3, насколько я знаю, может сделать бинарь больше
Vsevolod
может
Pepe 🐸
а там кто знает что внутри
Vsevolod
за счет инлайна функций
Alexander "SonnySlave"
Evgeniy
это не всегда желательно
Alexander "SonnySlave"
Vsevolod
да, поэтому есть -Os
Vsevolod
дальше-то что?
Alexander "SonnySlave"
но увеличение размера бинаря не имеет никакого отношения к нестабильности оптимизаций
Alexander "SonnySlave"
где написано от компилторописателей, что O3 - это нестабильные оптимизации?
Evgeniy
https://stackoverflow.com/questions/11546075/is-optimisation-level-o3-dangerous-in-g
Evgeniy
Ранше была баганая
Evgeniy
сейчас вроде нормально с ней все
Vsevolod
ответ только подтверждает мою точку зрения
Vsevolod
и про gcc 2.96 написали
Evgeniy
ну да
Oleg
Другое поведение при UB — не аргумент? То есть, я понимаю, что это аргумент в первую очередь исправить код, чтобы там UB не было.
Igor
-Ofast enables all -O3 optimizations. It also enables optimizations that are not valid for all standard compliant programs.
вот этот момент я не понял
Pavel
http://mirror.yandex.ru/gentoo-portage/sys-devel/gcc/gcc-2.95.3-r10.ebuild