Статья в Википедии содержит два конкретных примера:
Number Original code Brent's modification
18446744073709551617 26 ms 5 ms
10023859281455311421 109 ms 31 ms
Прежде всего, запустите эти два с вашей программой и посмотрите на свое время. Если они похожи на это («жесткие» числа, рассчитанные в 4-6 раз дольше), спросите себя, можете ли вы жить с этим. Или, что еще лучше, используйте другие алгоритмы, такие как простая классическая факторизация "грубой силы", и посмотрите, сколько времени они дают. Я предполагаю, что у них может быть сложный коэффициент, близкий к 1, но худшие абсолютные времена, так что это простой компромисс.
Примечание: Конечно, параллелизация - это путь, который, я думаю, вы знаете, но я думаю, что важно подчеркнуть. Кроме того, это помогло бы в случае, если другой подход лежит между таймингами Полларда-Ро (например, Поллард-Ро 5-31 мс, другой подход 15-17 мс) - в этом случае рассмотрите возможность запуска 2 алгоритмы в отдельных потоках для «гонки факторизации».
Если у вас еще нет фактической реализации алгоритма, вот Реализации Python .