> threading юзал, прироста не было.

Ты должен был создавать отдельный пул данных для каждого потока. Например в 1-ой поток приходят записи с 1 по 1000 000, во 2-ой с 1000 000 по 2000 000 и т. д. Если будешь пытаться ускорить вычисление то ничего не получится, они и так работают достаточно быстро.