Created
September 27, 2011 01:33
-
-
Save BanzaiMan/1244048 to your computer and use it in GitHub Desktop.
Sieve of Eratosthenes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ rvm jruby-1.6.4,rbx-1.2.1,ruby-1.9.2 is_prime.rb | |
"jruby 1.6.4 (ruby-1.8.7-p330) (2011-08-23 17ea768) (Java HotSpot(TM) Client VM 1.6.0_26) [darwin-i386-java]" | |
user system total real | |
100K primes 10.880000 0.000000 10.880000 ( 10.850000) | |
user system total real | |
100K primes 10.330000 0.000000 10.330000 ( 10.330000) | |
user system total real | |
100K primes 10.064000 0.000000 10.064000 ( 10.064000) | |
user system total real | |
100K primes 10.059000 0.000000 10.059000 ( 10.059000) | |
user system total real | |
100K primes 10.034000 0.000000 10.034000 ( 10.033000) | |
"rubinius 1.2.1 (1.8.7 release 2011-02-15 JI) [x86_64-apple-darwin10.6.0]" | |
user system total real | |
100K primes 11.070340 0.288108 11.358448 ( 11.555149) | |
user system total real | |
100K primes 10.701828 0.246002 10.947830 ( 11.031982) | |
user system total real | |
100K primes 10.704264 0.247315 10.951579 ( 11.032562) | |
user system total real | |
100K primes 10.715485 0.248473 10.963958 ( 11.049437) | |
user system total real | |
100K primes 10.700206 0.244643 10.944849 ( 11.150400) | |
"ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]" | |
user system total real | |
100K primes 7.690000 0.160000 7.850000 ( 7.960060) | |
user system total real | |
100K primes 7.760000 0.160000 7.920000 ( 8.282890) | |
user system total real | |
100K primes 7.730000 0.150000 7.880000 ( 7.939747) | |
user system total real | |
100K primes 7.780000 0.160000 7.940000 ( 8.431071) | |
user system total real | |
100K primes 7.730000 0.150000 7.880000 ( 7.970668) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'benchmark' | |
p RUBY_DESCRIPTION | |
N = 1299709 #100K-th prime | |
PRIMES = (2..N).to_a | |
5.times do | |
Benchmark.bm(30) { |bm| | |
bm.report("100K primes") do | |
index = 2 | |
primes = PRIMES.dup | |
while primes[index]**2 < primes.last | |
prime = primes[index] | |
primes = primes.select {|x| x == prime || x%prime != 0} | |
index += 1 | |
end | |
#p primes | |
end | |
} | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ jruby --server is_prime.rb | |
"jruby 1.7.0.dev (ruby-1.8.7-p330) (2011-09-23 2b786ba) (Java HotSpot(TM) Server VM 1.6.0_26) [darwin-i386-java]" | |
user system total real | |
100K primes 8.003000 0.000000 8.003000 ( 7.967000) | |
user system total real | |
100K primes 7.742000 0.000000 7.742000 ( 7.742000) | |
user system total real | |
100K primes 7.950000 0.000000 7.950000 ( 7.950000) | |
user system total real | |
100K primes 7.977000 0.000000 7.977000 ( 7.977000) | |
user system total real | |
100K primes 8.032000 0.000000 8.032000 ( 8.033000) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment