Как стать автором
Обновить

Комментарии 5

Воспользуюсь подходящим контекстом и задам вопрос сообществу несколько не по теме:
В библиотеке SymPy (один из проектов SciPy) есть крутой набор функций, связанных с простыми числами. Одна из функций, primerange, генерирует последовательность простых чисел (конечную, но потенциально любой длины, ограниченной только временем и, возможно, другими ресурсами, такими, как память). У меня есть реализация аналогичной функции, которая превосходит реализацию SymPy в разы по скорости, генерирует бесконечную последовательность (разумеется, тоже вопрос времени и памяти), но «умеет» только полные последовательности (sympy.primerange умеет с любого простого числа по ему порядковому номеру). Насколько такая функция может быть востребована?

P.S. Есть мысли, как её доработать до возможности произвольного старта, понадобится время на старт, но на порядок/порядки меньшее, чем понадобились бы, чтобы добраться до той же точки с начала всей последовательности (sympy.primerange «стартует без разогрева» с любой точки, фактически, она просто вычисляет каждое простое число по его номеру).

P.P.S. Конечно же я напишу про это статью.

P.P.S. Будете смеяться, но используется классическое «Решето Эратосфена» (но по памяти тоже в разы лучше, чем sympy.primerange, я знаю секрет)
Прошу, сильно не пинайте за коммент. Может возможно в открытых репозиториях посмотреть частоту использования описанной Вами функции из SymPy и на основе этого сделать выводы о необходимости Вашего решения?
А смысл пинать? Задал вопрос — получил ответ. Не нравятся ответы — не задавай вопросов

P.S. Ну и ответ не так уж и плох — сам я почему-то до этого не додумался

P.P.S. Кстати, до 17 раз по процессорному времени и до 3,5 раз превосходство по памяти для получения последовательности всех простых, меньших 10 000 000 000 (35 минут против 8 часов 45 минут и 12 мегабайт против 44 мегабайт соответственно)
Ну кстати, да, ждем статью.
Это было бы интересно. Ждем статью
Зарегистрируйтесь на Хабре , чтобы оставить комментарий