Size: a a a

2020 May 15

S

Sergey in ntwrk
это вы еще по астериску не искали в поисковиках
источник

S

Sergey in ntwrk
на форумах люди пишут * и потом нихрена не найдешь
источник

s

sexst in ntwrk
Denis Avgoor
/me шепчет про "anonymous mode" в браузерах
For porn only
источник

DA

Denis Avgoor in ntwrk
sexst
For porn only
оу, я думал это и был "широкий круг интересов"
источник

s

sexst in ntwrk
Denis Avgoor
оу, я думал это и был "широкий круг интересов"
Не, это глубокий
источник

DA

Denis Avgoor in ntwrk
ох уж эти огурцы
источник

DA

Denis Avgoor in ntwrk
ну а если по теме - я поразился оптимизаторам современных конпеляторов. недавно проверял билд некоторого проекта под cortex-m3/4 и поразился насколько даже GCC8 может соптимизировать код. на выходе буквально невозможно отследить ни функций ни циклов :)
источник

DA

Denis Avgoor in ntwrk
и вишенка на торте в том, что компилятор "более лучше" оптимизирует предсказуемый "наивный" код. оказалось что некоторые мои оптимизации были совсем не впрок, и переписывание "наивным" путём дало даже лучший результат
источник

s

sexst in ntwrk
-O(сколько) было?
У меня лично оно из коробки даже как раз loop unroll не делало. Только если руками заставить явно.
источник

DA

Denis Avgoor in ntwrk
-O3
источник

s

sexst in ntwrk
А, ну этот может, да. Я лично больше второго не ставлю никогда.
А оптимизации... Самая профитная оптимизация - часто вызываемые функции в RAM сунуть.
источник

A

ArcticFox in ntwrk
Evgeniy
раз по софт рутинг давайте свои рекорды
и конфиги
источник

V

Vladimir in ntwrk
sexst
Ну может там банально число итераций цикла определяется переменной, объявляемой в рантайме, а не константным выражением, которое ещё на этапе компиляции посчитается. Невозможно развернуть цикл, который непонятно сколько раз выполняется. А вручную мы можем, например, знать, что число итераций всегда будет кратно восьми. И развернуть по восемь штук руками. Приблизительно такое мне приходилось делать(
это довольно тонкий момент. Делая это в ручную можно отстрелить себе ноги (передав внезапно не кратное колличество)
источник

DA

Denis Avgoor in ntwrk
sexst
А, ну этот может, да. Я лично больше второго не ставлю никогда.
А оптимизации... Самая профитная оптимизация - часто вызываемые функции в RAM сунуть.
ммм, ну во-первых в современном мире O3 уже можно) раньше помню это ломало немного вещи в которых не было нормально закидано volatile. ну и во-вторых: рам много где не исполняемый :)
источник

s

sexst in ntwrk
Vladimir
это довольно тонкий момент. Делая это в ручную можно отстрелить себе ноги (передав внезапно не кратное колличество)
Ну можно оценить количество, дальше сначала ту часть, что кратна xxx, пролопатить пачками, а остаток некратный после этого обычным циклом добить.
источник

s

sexst in ntwrk
Denis Avgoor
ммм, ну во-первых в современном мире O3 уже можно) раньше помню это ломало немного вещи в которых не было нормально закидано volatile. ну и во-вторых: рам много где не исполняемый :)
В cortex m0/3/4 и вроде даже 7 я такого пока не встречал.
источник

V

Vladimir in ntwrk
sexst
Ну можно оценить количество, дальше сначала ту часть, что кратна xxx, пролопатить пачками, а остаток некратный после этого обычным циклом добить.
а, ну тут уже появляются ифы, тогда и компилятор вполне может понять что можно безопасно сделать анролл
источник

s

sexst in ntwrk
Обычно же даже isr функции в рам кладутся
источник

DA

Denis Avgoor in ntwrk
sexst
В cortex m0/3/4 и вроде даже 7 я такого пока не встречал.
ну речь конечно о правилах хорошего тона скорее, чем о физическом запрете.
источник

DA

Denis Avgoor in ntwrk
просто линкер по умолчанию весь рам RW-X делает
источник