История изменений
Исправление firkax, (текущая версия) :
Вообще-то челлендж по ссылке и там есть варианты и быстрее. А я тут просто так запостил свой вариант.
На самом деле там оптимизатор компиляторный странно себя ведёт (в т.ч. -O2 существенно быстрее чем -O3 в ряда вариантов кода получалось, или разница в скорости в полтора раза в зависимости от наличия или отсутствия какой-то не особо значимой строчки в коде) и если с ним всё нормально сделать то будет наверно ещё быстрее. Указанные странности я выяснил когда попытался разбить затраченное время на части кода, которы его тратят и обнаружил что это весьма сложно и отключение отдельных блоков ведёт себя не так как ожидалось.
Варианты по 10 минут это другое конечно, считай конкурс «как выжать максимум из тормозных скриптов». Можно даже на баше попробовать для прикола, тоже интересно будет.
в один поток за 25 сек
А в задаче кстати указано сколько у нас ядер доступно? А то можно распараллелить хоть в 1000 раз и упрётся в память (архитектура которой зависит от материнки), ну и в i/o чтение данных с диска.
Исходная версия firkax, :
Вообще-то челлендж по ссылке и там есть варианты и быстрее. А я тут просто так запостил свой вариант.
На самом деле там оптимизатор компиляторный странно себя ведёт (в т.ч. -O2 существенно быстрее чем -O3 в ряда вариантов кода получалось, или разница в скорости в полтора раза в зависимости от наличия или отсутствия какой-то не особо значимой строчки в коде) и если с ним всё нормально сделать то будет наверно ещё быстрее. Указанные странности я выяснил когда попытался разбить затраченное время на части кода, которы его тратят и обнаружил что это весьма сложно и отключение отдельных блоков ведёт себя не так как ожидалось.
Варианты по 10 минут это другое конечно, считай конкурс «как выжать максимум из тормозных скриптов». Можно даже на баше попробовать для прикола, тоже интересно будет.