Size: a a a

IT KPI C/C++ ХВ (не UB)

2020 July 01

M

MrILL in IT KPI C/C++ ХВ (не UB)
вейт, вот
Что делает 5-я строчка в асме?
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Лол, вангую, что это магия с предсказанием инструкций
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Но поинт был не в этом, а в том, что в лямбдах нет оверхеда никакого
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
сори, ты самый умный
я самый тупой
пока
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
На код ссылка
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Про mov edi, edi
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Arjaz
И обычно на -O3 компилятор всё прекрасно заинлайнит
Он мне лямбды в main засунул
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Ммм, и std::for_each развернул
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Да, действительно компилятор может оптимизировать умножение на степени двойки до побитовых сдвигов
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Там больше магии есть
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Он раскладывает умножения на серию сдвигов и сумм, если это быстрее на данной архитектуре, чем просто умножение
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Лямбды для кложуров годятся
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Arjaz
auto x = [&]() { if (a) { return 10; } else { return 15; } }();
После того видео стал лямбды так использовать?
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
Да не, давно уже
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Вроде можно compile-time циклы через лямбды делать
источник

YS

Yevhen Salatskiy in IT KPI C/C++ ХВ (не UB)
Модулей ещё вроде нет у gcc и clang?
источник

A

Arjaz in IT KPI C/C++ ХВ (не UB)
У шланга что-то есть
источник