170 похожих чатов

__builtin_expect есть смысл использовать чтоб помочь компилятору предугадать ветку?

37 ответов

13 просмотров

Тебе — нет

[[likely]]/[[unlikely]] (с поддержкой пока что проблемки, насколько я помню).

Roy-Mustang Автор вопроса
Sergey Anisimov
[[likely]]/[[unlikely]] (с поддержкой пока что про...

Ну хотя бы использовать там где поддерживается

Roy Mustang
Ну хотя бы использовать там где поддерживается

Ты опять оптимизациями преждевременными занимаешься? Самому не надоело херней маятся?

Roy Mustang
Ну хотя бы использовать там где поддерживается

Технически использовать можно везде. Стандартом гарантируется молчаливое игнорирование неподдерживаемых атрибутов, насколько я помню.

Roy-Mustang Автор вопроса
Danya🔥
Ты опять оптимизациями преждевременными занимаешьс...

А что плохого в извлечении дополнительной производительности там, где это возможно (особенно малой кровью; особенно одним кейвордом)?

Roy Mustang
Я вообще то пишу concurrent free queue

Да уже мне рассказали как ты придумал мьютекс и назвал это локфри Молодец конечно

Sergey Anisimov
А что плохого в извлечении дополнительной производ...

Как минимум еще одним макросом, если подразумевается не только C++20

Roy-Mustang Автор вопроса
Danya🔥
Да уже мне рассказали как ты придумал мьютекс и на...

К чему этот разговор? Вопрос был адресован в чат, не нравится вопрос - не отвечай

Sergey Anisimov
А что плохого в извлечении дополнительной производ...

Преждевременная оптимизация — корень всех зол © Кнут

А кто сказал, что оно есть на платформе X?

Danya🔥
Преждевременная оптимизация — корень всех зол © Кн...

Надо оптимизировать только то, что доказано, что будет работать медленно и что реально является бутылочным горлошком

Roy Mustang
К чему этот разговор? Вопрос был адресован в чат, ...

Я пытаюсь тебя на истинный путь направить, а ты как всегда Как об стенку горох

Roy Mustang
Никто не говорил

Тогда зачем его юзать?) Про C++20 уже подсказал Sergey выше: [[likely]]/[[unlikely]]

Danya🔥
Преждевременная оптимизация — корень всех зол © Кн...

Преждевременная оптимизация - такая, которая не требуется? Здорово, уничтожает всю компетитивность и прогресс, опосредованно. Как Вы определите, например, какой тик-рейт в Вашей симуляции достаточен? Какая точность измерения достаточна? Особенно когда пишете компонент для повторного будущего использования (библиотеку, например).

Danya🔥
Это про всё

По сути, вообще-то, любого разработчика библиотеки можно назвать преждевременным оптимизатором, поскольку конкретно его код не решает вообще никакой прикладной задачи, поскольку не запускается сам по себе? =)

Sergey Anisimov
Преждевременная оптимизация - такая, которая не тр...

Вы просто не понимаете, что преждевременная оптимизация может сделать хуже и ухудшить перф :) Программисты — люди глупые, они думают что лучше знают, а на самом деле компиляторы умнее достаточен — устраивает заказчика

Danya🔥
Это про всё

тогда возникает вопрос, что такое "преждевременная оптимизация"?

Roy-Mustang Автор вопроса
vile
тогда возникает вопрос, что такое "преждевременная...

тогда следом еще один вопрос, зачем тогда вводить likely/unlikely если компиляторы и так умные?

Danya🔥
Вы просто не понимаете, что преждевременная оптими...

компиляторы настолько умны, что в константу всё разруливают

Sergey Anisimov
По сути, вообще-то, любого разработчика библиотеки...

Если у вас библиотеки не решают никакие задачи, мне вас жаль

Danya🔥
Вы просто не понимаете, что преждевременная оптими...

Заходи в чатик по WinAPI. Тебе быстро пояснят, что написанное на асме несравнимо быстрее и плюсовые компиляторы далеко не так умны :))

Danya🔥
Что за бред

Ну как же это. Вы выше написали, что "про все". Написание кода для предположительного будущего повторного использования - преждевременная оптимизация затрачиваемого на разработку времени. Или Вы не согласны?

vile
компиляторы настолько умны, что в константу всё ра...

Все современные программы состоят из одной инструкции return 42, все остальное игра нашего воображения

Sergey Anisimov
Ну как же это. Вы выше написали, что "про все". На...

Для предположительного будущего использования — это называется оверинжениринг :)

Sergey Anisimov
Ну как же это. Вы выше написали, что "про все". На...

Вы, вероятно, путаете процесс проектирования архитектуры приложения, ускоряющее разработку и повышающее гибкость с низкоуровневой оптимизацией, как правило замедляющей разработку и затрудняющей дальнейшую поддержку Именно поэтому при проектировании стоит держать возможные оптимизации в уме, но оставить их лишь на тот случай, когда их необходимость будет доказана использованием

Ofee Oficsu
Вы, вероятно, путаете процесс проектирования архит...

И то, и другое формально представляет из себя преждевременные оптимизации. Оригинальная цитата ничего более не уточняла. Если "мудрость" не обладает формальной корректностью - так ли она мудра, чтобы использовать ее в качестве аргумента в споре?

Sergey Anisimov
И то, и другое формально представляет из себя преж...

Если возвести в абсолют, без оптимизаций ваш код будет как-то работать, пусть и ужасно. Без проектирования кода вы, вероятно, не сможите закрыть первую же открытую скобку

Ofee Oficsu
Если возвести в абсолют, без оптимизаций ваш код б...

Верно. Я там говорил, правда, про "Написание кода для предположительного будущего повторного использования".

Sergey Anisimov
И то, и другое формально представляет из себя преж...

Вы не против продолжить во флудилке? @stdvector

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта