Ad
  • Default User Avatar

    That's very interesting, its the first time I saw such an implementation.

    Thank you very much.

  • Default User Avatar

    It is an implementation of Eratosthenes' sieve, so time complexity is O(n log log n).
    But more than the algorithm behind, it uses two tricks to speed up the code:

    • It only checks one third of the integers (these with n % 6 in {1, 5});
    • It makes operations on array using slices, which call behind optimized low functions in C.

    Benchmarks of this implementation and many others are presented in the link given above.
    You can also find an implementation of Eratosthenes' sieve using Numpy, even faster than this one.

  • Default User Avatar

    What is the order of that sieve function against the normal one of order O(n log log n)?