C++/Go/Python
Game Developer

Грязные хаки в leetcode.com - ускоряем свой код

Решил я проходить LeetCode Challenge, который длиться целый месяц. Задачки решаю с использованием golang, python или С++. В этот раз выбор пал именно на С++.

Знаю точно, что решил задачу самым оптимальным путем (с точки зрения алгоритмической сложности).

Публикую результат…

Принято…

Смотрю результат производительности: Мой код быстрее 78% пользователей. Т.е. кто-то написал более оптимальный код? Эм, это как?

В leetcode, благо, можно посмотреть решения других участников. И вот какие заветные 3 строчки я увидел:

std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cout.tie(nullptr);

Вот тут можно почитать подробнее о вводе\выводе

Если в кратце:

В замеры производительность так же входит чтение и запись тестовых данных с потоков ввода\вывода.

Эти 3 функции значительно ускоряют производительность:

Первая функцию отключения синхронизации iostreams с stdio

Вторая и третья - отключают взимных проверки для сброса буфера.