Мы видим, что время для диапазона такого же размера несколько растёт, от того, с насколько больших чисел начинается диапазон.
По моему важнее где интервал
заканчивается. Понятно что одно с другим связано, но для сравнения полезнее всё же конец интервала, а не начало, как мне думается, ведь именно он участвует в вычислении порога перебора простых.
Поэтому, мы как бы (при линейной зависимости от величины диапазона) можем ожидать, что время расчета диапазона 7-21e31 (не разбитого на два) будет на меньше удвоенного времени расчета диапазона 0-7e31, а оно заметно меньше.
Ну вот Вы и увидели что там нет линейной зависимости ... В принципе при наличии автовыбора момента переключения с квадратичного на линейный режим априорные ожидания могут и не оправдываться, хоть одни, хоть другие. Ну либо мне просто лень думать какие из ожиданий более практичные.
Я бы сказал что функция времени - от двух аргументов, и длины интервала, и расположения его на числовой оси (диапазона). Вот скажем длина линейного перебора зависит линейно от размера интервала, а длина квадратичного перебора - как корень из конца интервала (разница корней из конца и начала интервала), и соответственно момент переключения режимов тоже зависит от расположения интервала в диапазоне, а от него и общее время. Лучше бы это конечно прямо проверить, но мысли такие. Так что не вижу ничего особо удивительного в странном поведении функции времени при игнорировании одного из аргументов.
PS. Сравнивать диапазоны от нуля вообще малоосмысленно, слишком часто там простые попадаются и это сильно искажает статистику, надо брать хотя бы от 1-10% верхней границы (не от 0e31 до 7e31, а хоть от 1e31 или 1e30 до 7e31, или от 1e31 до 8e31 если хочется длиной именно 7e31).
-- 18.03.2023, 19:45 --И да, похоже линейная зависимость есть от -x, но не от длины интервала, для которой она лишь для близких и относительно малых интервалов. Т.е. должно быть линейно для 0-1e31, 0-1e32, 0-1e33, 0-1e34, и например 20-21e31, 20-22e31, 22-24e31, и постоянно для например 26-27e30, 27-28e30, 28-29e30, и т.д., но не для столь огромных (относительно своего расположения) как 0-7e31, 7-14e31, 14-21e31. Чтобы интервал 7e31 вышел на константу (или на линейность от размера интервала) надо брать диапазон где-нибудь 200e31 и дальше.