-
- М-да, эпизод с типом счётчика цикла — это какой-то позор для компиляторостроителей. ЕМНИП, яр без труда заменял int на uint8_t на восьмибитнике. - SciFi(25.01.2022 08:07)
- Как интересно, имея в 3 раза ниже частоту, Эльбрус отстаёт менее
чем в 2 раза. Причём наибольший скачок производительности произошёл
на согласовании типа счётчика цикла. Пожалуй тут просто нужно
допилить оптимизацию в компиляторе. - =AlexD=(25.01.2022 07:55)
- что значит допилить? если я в С императивно заявил что счётчик
uint8_t значит так и должно быть. а вдруг я счётчик куда нибудь
передаю по указателю. в том то и проблема. - cheblin(25.01.2022 08:12)
- Никогда не слышал выражения "императивно". Нет никакого запрета
компилятору сделать char длиной 32 бита. - misyachniy(25.01.2022 09:52)
- допустим есть структура которая хранит в себе текущее
состояние(типа итератор). в этой структуре есть поле (char?)
хранящее текущий индекс. в цикле это поле напрямую используется как
счётчик может случится так что выход из цикла происходит после каждой
итерации для того чтобы избежать лишнего копирования в отдельную переменную
и обратно при выходе из цикла (нас интересует производительность).
чем не кейс? - cheblin(25.01.2022 10:36)
- Можно допустить и сферического коня в вакууме, но как это отменяет
правило, что работа с "родной" разрядностью максимально эффективна? - misyachniy(25.01.2022 10:44)
- ...и только архитектура Intel позволяет выбирать тип переменной
исходя из других соображений. - cheblin(25.01.2022 11:57)
- Ничего не могу сказать по данному поводу. Архитектура Intel слишком широкое понятие, да и выбор обычно за компилятором. - misyachniy(25.01.2022 12:12)
- ...и только архитектура Intel позволяет выбирать тип переменной
исходя из других соображений. - cheblin(25.01.2022 11:57)
- Можно допустить и сферического коня в вакууме, но как это отменяет
правило, что работа с "родной" разрядностью максимально эффективна? - misyachniy(25.01.2022 10:44)
- Вы удивитесь, но он в некоторых системах такой и есть :-)) sav6622(40 знак., 25.01.2022 10:13)
- Про "никогда не слышал" есть отличная цитата из Грязного Гарри: "A
man's got to know his limitations" >>> SciFi(1 знак., 25.01.2022 10:01, youtube)
- Чувствуется солидная математическая подготовка. Абсолютно корректный и абсолютно пустой ответ. - misyachniy(25.01.2022 10:22)
- допустим есть структура которая хранит в себе текущее
состояние(типа итератор). в этой структуре есть поле (char?)
хранящее текущий индекс. в цикле это поле напрямую используется как
счётчик может случится так что выход из цикла происходит после каждой
итерации для того чтобы избежать лишнего копирования в отдельную переменную
и обратно при выходе из цикла (нас интересует производительность).
чем не кейс? - cheblin(25.01.2022 10:36)
- Счётчик цикла никуда по указателю не передаётся и тут это хорошо видно по исходнику. Оптимизатор имеет право отходить от педантичного следования стандарту, если это никак не может повлиять на результат вычислений, и это происходит постоянно. - =AlexD=(25.01.2022 08:16)
- Счётчик цикла по указателю там, где нужна мегаоптимизация? Мсье
знает толк в извращениях. Вменяемый погромист оставит компилятору
возможность для оптимизации, а не станет нарочито отнимать её. - SciFi(25.01.2022 08:15)
- у самого вменяемого погромиста комп на Intel и никакой просадки по
производительности не наблюдалось. - cheblin(25.01.2022 08:40)
- Интеловский оптимизирующий компилятор. - =AlexD=(25.01.2022 08:41)
- +1. Видимо, реально другая архитектура - cheblin(25.01.2022 09:03)
- +1. Видимо, реально годный компилятор. - SciFi(25.01.2022 08:42)
- Интеловский оптимизирующий компилятор. - =AlexD=(25.01.2022 08:41)
- у самого вменяемого погромиста комп на Intel и никакой просадки по
производительности не наблюдалось. - cheblin(25.01.2022 08:40)
- Никогда не слышал выражения "императивно". Нет никакого запрета
компилятору сделать char длиной 32 бита. - misyachniy(25.01.2022 09:52)
- что значит допилить? если я в С императивно заявил что счётчик
uint8_t значит так и должно быть. а вдруг я счётчик куда нибудь
передаю по указателю. в том то и проблема. - cheblin(25.01.2022 08:12)
- мораль: не стоит пытаться быть умнее компилятора, декларативный подход в программах несистемного, пользовательского уровня рулит. в них должна быть только информация о том что нужно сделать, а не как.... аля SQL. императивные языки на этом уровне окончательно вымрут. - cheblin(25.01.2022 04:26)
- красава! это стих а не статья. читал примерно ка Евгения Онегина. как хорошо что есть родственные души во вселенной - klen(25.01.2022 02:32)