вот M84n11 компилились 2000шт/час как видно по датам файлов
У меня для 12 делителей компилятся по 4600 шт/час, но это всё равно не радует. Для последнего подкласса 11-228 10 часов на компиляцию и 53 часа на счёт.
Да, это потому что порог малых простых меньше и разворачивание цикла в сотни раз, а не 32768 и тысячи, соответственно таблицы меньше и скорость их генерации выше. А вот скажем до переделки на внутреннюю генерацию самых больших таблиц файл .inc мог занимать до 53М (вместо сотни К сейчас) и компиляция всего одного паттерна могла занять до минуты! Т.е. всего полсотни шт/ч. А ещё незадолго до этого строки не накапливал в переменной, а сразу писал в файл, что резко замедляло запись (в десятки раз) и компиляция рабочего варианта (одного паттерна!) занимала десятки минут, приходилось всё отлаживать на урезанных вариантах ...
Компиляция варианта M32_x32_SSE в середине марта заняла вроде бы 4.5ч, т.е. примерно 10000шт/ч, что вполне соответствует разнице в скорости gp64 у меня и gp32 у Вас. Так что радуйтесь что для M12 оптимальным оказался вариант с 3584 простыми вместо максимально возможного и компиляция сотни тысяч паттернов (для новых M) не занимает неделю ...
Ну и я радуюсь, пока.
На самом деле да, скорость компиляции не ахти, можно и нужно менять, уносить всё в asm, но это много переписывать и тестировать, а как известно "работает? ну и не трожь!" ...
Так что близится момент переписывания кода.
Вот тут не понял, какого именно кода. M12mods1.gp Вам придётся менять кажется уже на следующей итерации (номер следующего простого станет больше 9 и всё собьётся), а Yadryara5.gen.gp и Yadryara6.asm менять почти не придётся (последний и для всех новых M ровно тот же). Ну там ближе к часу X решим.
оставшийся сомножитель должен быть произведением трех простых
Вот кстати ещё и это, сейчас-то PARI код перебора заточен под варианты только
или
, и я уже не совсем уверенно помню в каких именно местах, придётся аккуратно всё это искать/проверять ...
Возможно, лучше сделать паттерн на 4 простых, но избавиться от этих недостатков.
Покажите три паттерна (не группы), на 3, на 4, на 5 проверок, сделаю три программы и сравню скорость нахождения кандидатов на большом интервале — и будет понятно что выгоднее. Я бы предположил что выгоднее на 5 проверок, при этом больше действий переносится в более быстрый асм код, несмотря на уменьшение вероятности простых.