Parallel Prime Sieving at High Magnitude with Julia (Project GC-60)

Hello everyone,

I have shared with this forum two algorithms very dear to me: GC60_M30x8 and GC60_LRLN_x8.

These two algorithms have been combined, and the result highlights something fundamental: a different way of looking at how individual numbers move on the number line is far more powerful than just software-level optimization on a segmented sieve.

Julia has outdone itself with this combination. Thanks to its high-level nature, the program almost doubles the performance of primesieve, which is written in low-level, super-optimized C++.

I hope you enjoy this work, because I am truly proud of it.

You can find the script, benchmarks, and verification tests in my Codeberg repository:

Thank you all!

How does this perform relative to Primes.jl eachprime (new in a not yet released version but if you ]add Primes#main you should get it).

Wow, codeberg.

By the way, for a small algorithm like this, vendoring is a common use case. Would you perhaps consider MIT-0? It makes reuse simpler by removing MIT’s notice-retention requirement.

Thank you for the excellent suggestion! I have already updated the license from MIT to MIT-0 to make the algorithm as accessible and easy to integrate as possible for anyone who wishes to implement, improve, or integrate it into their own projects

Grazie per la risposta e la tua segnalazione su eachprime.

In realtà non sono propenso a lavorare su un unico algoritmo o a inseguire benchmark competitivi. Il mio lavoro di ricercatore indipendente mi porta a studiare i movimenti dei numeri all’interno della scala numerica, che poi cerco di tradurre in modelli logici.

Avendo modificato la licenza in MIT-0, lascio volentieri a voi e alla community il compito di testarlo, confrontarlo o migliorarlo a seconda delle vostre esigenze e capacitĂ  di programmazione.