speeding up + ctfe question

jerro a at a.com
Sat May 26 10:12:58 PDT 2012


On Saturday, 26 May 2012 at 13:49:53 UTC, maarten van damme wrote:

Is there an easy way to speed up or is this the
> ceiling?

I got a 30 percent speedup by replacing this line:

if(&& canFind(quicktestPrimes, possiblePrime))

with this:

if(quicktestPrimes.back >= possiblePrime &&
    canFind(quicktestPrimes, possiblePrime))

You could probably get a much better speedup by using some
kind of a prime sieve.

BTW you shouldn't be using opIndex like that. Calling opIndex
shouldn't change observable state of the object and it should
run in O(log(n)) or better. People expect an index operator to
behave similarly to the index operator on arrays. If the
function does something completely different, it is very
confusing to make it an opIndex.


More information about the Digitalmars-d-learn mailing list