- А люди из интернета точно использовали final именно там, где нужно, а не везде е, Аноним (1), 14:15 , 23-Апр-24 (1) +3
А люди из интернета точно использовали final именно там, где нужно, а не везде его тыкали? Это нужно тестировать на виртуальных вызовах, а не просто "взял и поставил final на структурку или класс, потому что от нее никто не будет наследоваться".
- Это был финальный комментарий или компилятор заглючил , Аноним (2), 14:24 , 23-Апр-24 (2) +20 [^]
- Вообще-то final именно для этого и придуман, причем, не только в C , Аноним (3), 14:32 , 23-Апр-24 (3) +3
- И как я вызову виртуальный метод, если у меня final стоит на самом первом классе, Аноним (4), 14:39 , 23-Апр-24 (4)
- final как раз нужен для класса с реализацией интерфейса А числа автора показыва, Аноним (8), 14:43 , 23-Апр-24 (8) +3
- А опытный разработчик знает, что надо бенчмаркать свой код, и ставить final там,, Rev (?), 14:39 , 23-Апр-24 (5) +1
> Для себя автор исследования сделал вывод о необходимости избегать использованиЯ "final".А опытный разработчик знает, что надо бенчмаркать свой код, и ставить final там, где бенчмарки покажут улучшение :)
- в гцц ИИ еще не пихнули , Sw00p aka Jerom (?), 14:41 , 23-Апр-24 (6) –4 [V]
в гцц ИИ еще не пихнули? :)
- А вообще каким боком final влияет на производительность кода Он же нужен исключ, Аноним (11), 14:50 , 23-Апр-24 (11) +4
А вообще каким боком final влияет на производительность кода? Он же нужен исключительно чтобы бить по рукам, не более того.
- Что-то я не вижу AOCC и ICC в тестах Именно они были бы актуальными для соответ, Аноним (12), 15:00 , 23-Апр-24 (12) –1
Что-то я не вижу AOCC и ICC в тестах. Именно они были бы актуальными для соответствующих процессоров.
- Это какой-то особенный вид чего-то, о чём стараются не говорить в приличном обще, Бывалый Смузихлёб (ok), 15:23 , 23-Апр-24 (15) –7 [V]
> ключевого слова "final" [EN.cppreference.com/w/cpp/language/final] Это какой-то особенный вид чего-то, о чём стараются не говорить в приличном обществе. Надо обязательно в русскоязычной статье затолкать ссылку исключительно на англоязычную статью при наличии русскоязычной [RU.cppreference.com/w/cpp/language/final]
- какой плюсовик умеет читать документацию не на английском , Я (??), 15:41 , 23-Апр-24 (18) +1
- Из любви к русскому языку - надо Читать перевод на русский, чтобы в голове пере, Аноним (37), 17:23 , 23-Апр-24 (37) –2
- не, пусть будет ссылка на англоязычную, Аноним (73), 00:09 , 24-Апр-24 (73)
- иногда можно повысить производительность до 70 если для выхода из сложных цикло, Швондик (?), 15:41 , 23-Апр-24 (19) +3
иногда можно повысить производительность до 70% если для выхода из сложных циклов использовать оператор goto
- а если использовать выход в первой строчке проги, производительность ещё сильнее, Аноним (20), 16:00 , 23-Апр-24 (20) +6 [^]
- Одной функции или всей программы что-то мне подсказывает, что ты про первоеВ пл, Аноним (-), 16:20 , 23-Апр-24 (23) –3
- спагетти , Аноним (27), 16:26 , 23-Апр-24 (27) +1
- да я просто пошутил, у нас за goto сразу увольняют если увидят в коде, Швондик (?), 16:33 , 23-Апр-24 (30) –6 [V]
- Значит вы в ядро не коммите, Аноним (38), 17:44 , 23-Апр-24 (38) +10 [^]
- За goto в C C может уволить только абсолютно безграмотный чел, который никогда, Ivan7 (ok), 18:04 , 23-Апр-24 (46) +10 [^]
- а за switch case А за try catch , Аноним (60), 22:47 , 23-Апр-24 (65) +3
- Мы про ОО-язык говорим или где , Аноним (41), 17:56 , 23-Апр-24 (42) –1
- Это тонкий троллинг goto полезен скорее для выхода по ошибке, к есдиному месту, Ivan_83 (ok), 22:44 , 23-Апр-24 (63)
- Требуется сравнительный анализ кода на ассемблере А так это гадание на dev ran, Пряник (?), 16:19 , 23-Апр-24 (22) +3
Требуется сравнительный анализ кода на ассемблере. А так это гадание на /dev/random.
- Требуется сравнительный анализ разработчиков всех этих компиляторов, стандарт яз, Sw00p aka Jerom (?), 16:35 , 23-Апр-24 (31)
- Я это и сказал Компилятор выдаёт на выходе код ассемблера сначала перед тем, ка, Пряник (?), 17:20 , 23-Апр-24 (36) +1
- Так повторямых сборок между Clang и g никто и не обещал , Аноним (41), 17:59 , 23-Апр-24 (44) +1
- Ты объем кода шланга или гцц видел Ну ок, покажи как надо делать Потом сравнит, Аноним (60), 23:06 , 23-Апр-24 (66) +1
- Замер фактической производительность чем гадание на ассемблере , Аноним (77), 04:52 , 24-Апр-24 (78)
- Впрочем тесты с потолка тоже полезны , Пряник (?), 16:24 , 23-Апр-24 (25)
Впрочем тесты "с потолка" тоже полезны.
- Вывод прямо противоположный результатам тестирования Делаешь макрос который буде, Серб (ok), 16:26 , 23-Апр-24 (26) +1
> Для себя автор исследования сделал вывод о необходимости избегать использование "final". Вывод прямо противоположный результатам тестирования. Делаешь макрос который будет final для gcc и пустотой для MS и clang - профит.
- Странный выбор у девелопера из опенсорса промежуточный девелопмент релиз дистри, Аноним (28), 16:27 , 23-Апр-24 (28)
Странный выбор у девелопера из опенсорса: промежуточный девелопмент релиз дистрибутива и MS компилятор.Люди в опенсорсе используют готовые релизы и другие компиляторы. Разве не...
- стандартный девелопер из опенсорс с вероятностью 50 сидит на mac os, с вероят, голос из леса (?), 16:48 , 23-Апр-24 (34) +2
- Просмотрите исходники СПО-проектов В подавляющем большинстве случаев там 0A-ок, Аноним (41), 18:02 , 23-Апр-24 (45) –1
- Ну мы так на Венде делали Специально, для повышения качества экспертизы , n00by (ok), 08:50 , 24-Апр-24 (88)
- Офигеть показатель Наверное конец строки - это штука, которую принципиально нев, Аноним (90), 12:36 , 24-Апр-24 (90)
- Показательнее пример Mozilla, разработчики Firefox пользуются Chrome в качестве , Электрон (?), 07:46 , 25-Апр-24 (96) +1
- Забыл еще написать про электронные адреса Заглянуть в AUR - там повсеместно gma, Электрон (?), 07:48 , 25-Апр-24 (97)
- Ну да, не включали голову И этот не включал Ну посмотри ты профайл, ассемблер, с, Аноним (35), 17:02 , 23-Апр-24 (35) +6 [^]
> Причиной проведения тестирования послужили витающие в сети заявления, что использование "final" позволяет повысить производительность, которые ограничивались оценочными суждениями без указания результатов изменений. Ну да, не включали голову. > Для себя автор исследования сделал вывод о необходимости избегать использования "final". И этот не включал. Ну посмотри ты профайл, ассемблер, собери минимальный кейс на котором повторяется проблема, зашли в багзиллы. Это было бы исследование. А этот намерял неизвестно что, и ты поди - ключевого слова избегать будет. return'а ещё поизбегай.
- Странно, в тех же исходниках clang часто используется прием namespace class Cla, Аноним (49), 18:39 , 23-Апр-24 (49)
Странно, в тех же исходниках clang часто используется прием:namespace { class Classname final : public Basename { void method() override {} }; } Тогда выглядит глупо, что сами же разработчики компилятора это не оптимизировали
- Замедление при использовании final вызывает у меня культурный шок Реализация ви, Аноним (52), 19:38 , 23-Апр-24 (52) +6 [^]
Замедление при использовании final вызывает у меня культурный шок. Реализация виртуальных методов стандартна - в объекте хранится указатель на таблицу, в таблице указатель на код. final гарантирует, что наследники не переопределяли код, поэтому чтение таблицы компилятор может иногда выкинуть. Я просто не могу представить, что должен сделать компилятор, чтобы стандартный подход стал выполняться медленней. final и override - это в основном синтаксический сахар, чтобы бить по рукам тех, кто не синхронизирует изменения методов в предках и потомках, а также помощь читающим код, чтобы было видно виртуальные методы. Реально выкидывание чтения таблицы должно происходить крайне редко, обычно везде передаётся указатель на базовый класс с виртуальными методами без реализации. Из-за большой разницы в производительности, я склонен подозревать автора больше чем что-либо ещё.
- Ко там хвалил шланг Запомните, копилефтный GCC - это эталон качества , Аноним (-), 07:22 , 24-Апр-24 (80) –1
Ко там хвалил шланг? Запомните, копилефтный GCC - это эталон качества.
- Бездумное, механическое использование ключевого слова final в среднем понижает , Аноним (108), 09:13 , 26-Апр-24 (113) +1
>final was placed on just about EVERY interface."Бездумное, механическое использование ключевого слова final в среднем понижает произодительность, поэтому лучше его избегать." Это точно ведущий разработчик, а не взятый по гендерной квоте?
|