I get 18.0658 with default "g++ PrimeChecker.c -o PrimeChecker" and 11.7689 with "g++ PrimeChecker.c -O2 -o PrimeChecker"
edit: the hardware is an i7-4870HQ, quite close to the i7-4850HQ that's in the blogpost (+200MHz clock)
I get 18.0658 with default "g++ PrimeChecker.c -o PrimeChecker" and 11.7689 with "g++ PrimeChecker.c -O2 -o PrimeChecker"
edit: the hardware is an i7-4870HQ, quite close to the i7-4850HQ that's in the blogpost (+200MHz clock)
The slowdown isn't in assigning the bool; If you pass in 10000000 into that function, it's going to get isPrime set to true on the first iteration, but if you early out, you save all of those values. Again, this isn't really the point of the exercise, it's supposed to be comparing the performance of the same piece of code ran on different hardware.
https://gist.github.com/anonymous/c6d5bae04334cbc7ef9583ebb7...
g++ -O3 -o prime PrimeChecker.c
time ./prime
9592 primes between 0 and 100000
Time taken = 18.0476
real 0m18.073s
user 0m18.048s
sys 0m0.000s
It seems the Moore's Law is no longer valid...g++ PrimeChecker.c -o PrimeChecker:
Time taken = 26.2687
g++ PrimeChecker.c -O2 -o PrimeChecker:
Time taken = 21.6129
So I would say that this his test doesn't really prove anything, not with an operation as simple as finding primes.
(Although the new shiny is indeed pretty - I'll confess to almost drooling at http://www.macrumors.com/roundup/retina-macbook-air/ ;-)