Доклад

C++ и локальные оптимизации

Зал 1

Оптимизации, которые можно рассмотреть и видос с мыслями поглядеть. Аллокатор (как ускорить STL?) memmove (стандартная реализация проигрывает реализации от LLM).

Хеш-таблица (как пользоваться стандартной? почему стандартная квадрат? квадрат?), как написать свою и почему это лучше — открытая адресация.

pair<int,int> p[N] или int a[N],b[N]? p[i] = {x,y} vs два присваивания (оптимизация жжет!)

Вектор векторов (стандартное зло).

Много маленьких хеш-таблиц (стандартное зло; в целом много мелких объектов).

Ввод-вывод данных (все STL способы — зло).

Яндекс —> Корасик и parseInt —> exception'ы (просто анекдот из детства и мораль «оптимизировать только после профайлинга»).

i++ vs ++i (важно понимать, что правильный ответ — «пофиг») vector или vector (стандартное зло vector).

vector: reserve, переиспользование (база).

Базовая сказка про кеши и параллелизм (сравнение строк за квадрат для 200 000 меньше полсекунды — база).

Спикеры

Расписание