-
- есть же инструкция IT, специально для простых if-then-else. никаких сбросов конвейера не должно быть. - Mahagam(04.06.2021 16:12)
- А ты уже переписал на асме все либы Cube? Если нет, то рано за конвейер браться. - =AlexD=(04.06.2021 16:02)
- Разве не достаточно один раз посмотреть дизассемблер
оптимизированного кода, чтобы понять, что компилятор на несколько
порядков умнее, чем убогий погроммист? ;) - VLLV(04.06.2021 09:16)
- Компилятор, какой бы умный не был, представления не имеет о
бизнес-логике программы. Например, f(int a){if(a==0) b=1; else
b=2;} переменная "а" неравна нулю - один на миллион. Получается
миллион тактов процессора потрачено в пустую. - IBAH(04.06.2021 15:21)
- По сравнению с тем, сколько времени и электричества на майнинг
крипты расходуется, ваши переживания о неоптимальной команде
перехода это пылинка на фоне Солнца :) - rezident(04.06.2021 15:55)
- Дык может он майнер кодит... - SciFi(04.06.2021 15:58)
- Некорректный пример. Считать шансы как 1/количество комбинаций неправильно: "Какая вероятность встретить на улице динозавра? 50% - или встречу, или нет" - VLLV(04.06.2021 15:27)
- По сравнению с тем, сколько времени и электричества на майнинг
крипты расходуется, ваши переживания о неоптимальной команде
перехода это пылинка на фоне Солнца :) - rezident(04.06.2021 15:55)
- Сложно сказать. Например, при реализаццыи кейсов, компилер никогда не использует такой могучий инструмент как IJMP(переход по содержимому индексного регистра) и его аналоги в других архитектурах. Конкретные реализаццыи многих процедур могут быть кастрированы, несмотря на очебачность корректной реализаццыи. Убогость программиста всего-лишь, выражаецца в неспособности корректно реализовать работу секцыи дата. - mse homjak(04.06.2021 11:29)
- компилятор не умный, а тупая железяка. Nikolay801_(157 знак., 04.06.2021 09:36)
- И в 999999 раз быстрее - VLLV(04.06.2021 09:39)
- Компилятор хитрый. Время от времени он допускает мелкую
неоптимальность на пару тактов/байтов. Это заставляет молодого и
неопытного погромиста думать "вот тут-то я его и обойду на
повороте". SciFi(33 знак., 04.06.2021 09:24)
- :) буквально на днях видел жутко неоптимальный код в китайской либе. Китаец пожадничал на одну временную переменную - и писец. Кейл не осилил нормальный код. - LightElf(04.06.2021 10:15)
- :) - Evgeny_CD(04.06.2021 09:30)
- Компилятор, какой бы умный не был, представления не имеет о
бизнес-логике программы. Например, f(int a){if(a==0) b=1; else
b=2;} переменная "а" неравна нулю - один на миллион. Получается
миллион тактов процессора потрачено в пустую. - IBAH(04.06.2021 15:21)
- Ответ: if-else оптимизировать не надо. Лучше потратьте эти нервные
клетки на оптимизацию своего досуга. Нет, серьёзно. - SciFi(04.06.2021 07:33)
- Компилятор их сам оптимизирует, обычно при -Os и -O2. На
godbolt.org можно потестить - evgeniy1294(04.06.2021 08:45)
- И это тоже, но даже если бы не оптимизировал, нуевонафик такой фигнёй заниматься. Жизнь слишком коротка. - SciFi(04.06.2021 09:39)
- Оно то так, но проект может поддерживать другой(другие)
программисты. Так что если есть возможность "подсказать"
компилятору, то лучше подсказать. - misyachniy(04.06.2021 09:26)
- Вот как раз поэтому и не нужно ничего делать. Компилятор скорее
всего будет умнее, чем какой-то "другой программист". - evgeniy1294(04.06.2021 09:29)
- А вот такой пример misyachniy(142 знак., 04.06.2021 09:52)
- Оптимизирует легко, о половине возможных оптимизацией рядовой
программист никогда не слышал. Лучшее, что вы можете сделать сами,
дать компилятору подсказку [[likely]] - evgeniy1294(04.06.2021 10:03)
- Да ладно я исследовал обнуление ряда переменных IAR/ARM misyachniy(176 знак., 04.06.2021 10:10)
- 1) Опции Оs или O2 групповые. Каждая оптимизмация может быть включена/выключена отдельно. evgeniy1294(262 знак., 04.06.2021 11:17)
- Тема не раскрыта il-2(312 знак., 04.06.2021 10:18)
- Да ладно я исследовал обнуление ряда переменных IAR/ARM misyachniy(176 знак., 04.06.2021 10:10)
- Оптимизирует легко, о половине возможных оптимизацией рядовой
программист никогда не слышал. Лучшее, что вы можете сделать сами,
дать компилятору подсказку [[likely]] - evgeniy1294(04.06.2021 10:03)
- А вот такой пример misyachniy(142 знак., 04.06.2021 09:52)
- Вот как раз поэтому и не нужно ничего делать. Компилятор скорее
всего будет умнее, чем какой-то "другой программист". - evgeniy1294(04.06.2021 09:29)
- Компилятор их сам оптимизирует, обычно при -Os и -O2. На
godbolt.org можно потестить - evgeniy1294(04.06.2021 08:45)
- конвеер сбросится только если предсказание не удалось. M3 с 3-stage pipeline with branch speculation. - RxTx(04.06.2021 00:13, ссылка)