- 1
- 2
- 3
- 4
- 5
/* optimized division by 16 */
n >>= 4
/* optimized remainder by 16 */
k &= 0xF
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−47
/* optimized division by 16 */
n >>= 4
/* optimized remainder by 16 */
k &= 0xF
И такой prematurely optimized хуеты в кодобазе ОЧЕНЬ МНОГО.
Antervis 01.02.2016 11:12 # −1
codemonkey 01.02.2016 12:05 # +4
codemonkey 01.02.2016 13:37 # 0
Steve_Brown 01.02.2016 12:16 # +2
schwrzwldr_gbln 01.02.2016 13:09 # −2
в еmbedded такую хуйню поймет каждый без словоря, вроде паттерна
а если это не еmbedded то звиняйте, действительно гавно
Antervis 01.02.2016 15:58 # +4
bormand 01.02.2016 17:19 # +5
Там просто компиляторы хуёвые и старые бывают, которые оптимизациям не обучены... И написав x *= 16 или, о ужас, x /= 16 ты для некоторых контроллеров (не будем показывать на них пальцем) рискуешь получить софтверную эмуляцию, которая все тайминги распидорасит.
bot 02.02.2016 22:45 # −1
bormand 02.02.2016 22:47 # 0
1024-- 02.02.2016 22:54 # −3
TarasB 04.02.2016 11:10 # +2
1024-- 04.02.2016 19:17 # −1
Поскольку a << b = hyper(a, 2, hyper(2, 3, b)), логично предположить, что a < b = hyper(a, 1, hyper(2, 2, b)). Но C какой-то неконсистентный. Не знаю, как вообще кто-то может писать на языках с подобными операторами.
bot 02.02.2016 23:01 # −2
Soul_re@ver 04.02.2016 03:56 # 0
TarasB 04.02.2016 11:07 # +6
Но бля, есть культисты карго, которые цвет на ргб раскладывают именно делениями. Потому что им училка же сказала, что сдвиги это предварительная оптимизация и это плохо, а своего мозга понять, когда именно это плохо - нету.
codemonkey 04.02.2016 12:08 # 0
Antervis 05.02.2016 07:07 # 0
guest 05.02.2016 13:07 # +1
Не-не-не.
WGH 07.02.2016 14:20 # 0
codemonkey 08.02.2016 17:06 # 0