Benchmark File | Input Size | ruby-2.1.5 p273 | ruby-2.2.0 p0 | Performance Increase |
macro-benchmarks/bm_gzip.rb | 100 | 5.441800787 | 5.529919291 | -1.62% |
macro-benchmarks/bm_hilbert_matrix.rb | 10 | 0.001506644 | 0.001508498 | -0.12% |
macro-benchmarks/bm_hilbert_matrix.rb | 20 | 0.018034514 | 0.019916750 | -10.44% |
macro-benchmarks/bm_hilbert_matrix.rb | 30 | 0.084065866 | 0.088421611 | -5.18% |
macro-benchmarks/bm_hilbert_matrix.rb | 40 | 0.243368739 | 0.257345416 | -5.74% |
macro-benchmarks/bm_hilbert_matrix.rb | 50 | 0.656672931 | 0.665158535 | -1.29% |
macro-benchmarks/bm_hilbert_matrix.rb | 60 | 1.483352925 | 1.499879964 | -1.11% |
macro-benchmarks/bm_mpart.rb | 300 | 0.021045194 | 0.018580623 | 11.71% |
macro-benchmarks/bm_norvig_spelling.rb | 50 | 4.105601359 | 3.838181519 | 6.51% |
macro-benchmarks/bm_parse_log.rb | 100 | 0.524311824 | 0.534461600 | -1.94% |
macro-benchmarks/bm_rcs.rb | 100 | 0.167349193 | 0.167786871 | -0.26% |
macro-benchmarks/bm_sudoku.rb | 1 | 1.378527192 | 1.309769003 | 4.99% |
micro-benchmarks/bm_app_factorial.rb | 5000 | 0.018377852 | 0.016312503 | 11.24% |
micro-benchmarks/bm_app_fib.rb | 30 | 0.154745789 | 0.145133262 | 6.21% |
micro-benchmarks/bm_app_fib.rb | 35 | 1.723013699 | 1.651199102 | 4.17% |
micro-benchmarks/bm_app_mandelbrot.rb | 1 | 0.150893967 | 0.148029544 | 1.90% |
micro-benchmarks/bm_app_pentomino.rb | 1 | 20.916050147 | 20.219321355 | 3.33% |
micro-benchmarks/bm_app_tak.rb | 7 | 0.114274899 | 0.108184189 | 5.33% |
micro-benchmarks/bm_app_tak.rb | 8 | 0.332602074 | 0.311949329 | 6.21% |
micro-benchmarks/bm_app_tak.rb | 9 | 0.892592296 | 0.813961797 | 8.81% |
micro-benchmarks/bm_app_tarai.rb | 3 | 0.418669632 | 0.377954191 | 9.72% |
micro-benchmarks/bm_app_tarai.rb | 4 | 0.501545550 | 0.446574377 | 10.96% |
micro-benchmarks/bm_app_tarai.rb | 5 | 0.570404066 | 0.546178530 | 4.25% |
micro-benchmarks/bm_binary_trees.rb | 1 | 7.609491917 | 7.742826158 | -1.75% |
micro-benchmarks/bm_cal.rb | 500 | 0.041128382 | 0.040977642 | 0.37% |
micro-benchmarks/bm_count_multithreaded.rb | 1 | 0.004324664 | 0.005010469 | -15.86% |
micro-benchmarks/bm_count_multithreaded.rb | 2 | 0.009148898 | 0.010368676 | -13.33% |
micro-benchmarks/bm_count_multithreaded.rb | 4 | 0.021764523 | 0.019279018 | 11.42% |
micro-benchmarks/bm_count_multithreaded.rb | 8 | 0.045679936 | 0.041301824 | 9.58% |
micro-benchmarks/bm_count_multithreaded.rb | 16 | 0.079268071 | 0.091182084 | -15.03% |
micro-benchmarks/bm_count_shared_thread.rb | 1 | 0.040428474 | 0.042236155 | -4.47% |
micro-benchmarks/bm_count_shared_thread.rb | 2 | 0.045402622 | 0.043319078 | 4.59% |
micro-benchmarks/bm_count_shared_thread.rb | 4 | 0.046338546 | 0.045935778 | 0.87% |
micro-benchmarks/bm_count_shared_thread.rb | 8 | 0.059489594 | 0.052797231 | 11.25% |
micro-benchmarks/bm_count_shared_thread.rb | 16 | 0.055508897 | 0.062376136 | -12.37% |
micro-benchmarks/bm_dirp.rb | 10000 | 1.041128339 | 1.069316017 | -2.71% |
micro-benchmarks/bm_eval.rb | 1000000 | 6.485932626 | 6.937864716 | -6.97% |
micro-benchmarks/bm_fannkuch.rb | 6 | 0.001213466 | 0.001289357 | -6.25% |
micro-benchmarks/bm_fannkuch.rb | 8 | 0.091404702 | 0.095585812 | -4.57% |
micro-benchmarks/bm_fannkuch.rb | 10 | 11.697475867 | 12.100328001 | -3.44% |
micro-benchmarks/bm_fasta.rb | 1000000 | 8.576651335 | 8.308239976 | 3.13% |
micro-benchmarks/bm_ffi_printf.rb | 100000 | 0.516967724 | LoadError | |
micro-benchmarks/bm_fiber_ring.rb | 10 | 0.000308344 | 0.000332843 | -7.95% |
micro-benchmarks/bm_fiber_ring.rb | 100 | 0.013368638 | 0.011803480 | 11.71% |
micro-benchmarks/bm_fiber_ring.rb | 1000 | 1.942049853 | 1.503775298 | 22.57% |
micro-benchmarks/bm_fractal.rb | 5 | 0.589704152 | 0.539340453 | 8.54% |
micro-benchmarks/bm_gc_array.rb | 1 | 13.646902038 | 11.945846656 | 12.46% |
micro-benchmarks/bm_gc_mb.rb | 500000 | 0.138416534 | 0.099156060 | 28.36% |
micro-benchmarks/bm_gc_mb.rb | 1000000 | 0.245671563 | 0.181434410 | 26.15% |
micro-benchmarks/bm_gc_mb.rb | 3000000 | 0.768378183 | 0.668100862 | 13.05% |
micro-benchmarks/bm_gc_string.rb | 1 | 2.618494607 | 2.556772318 | 2.36% |
micro-benchmarks/bm_knucleotide.rb | 1 | 0.523677831 | 0.517581241 | 1.16% |
micro-benchmarks/bm_list.rb | 1000 | 0.024172078 | 0.019861599 | 17.83% |
micro-benchmarks/bm_list.rb | 10000 | 0.906083771 | 0.869684240 | 4.02% |
micro-benchmarks/bm_lucas_lehmer.rb | 9689 | 0.523225807 | 0.518668121 | 0.87% |
micro-benchmarks/bm_lucas_lehmer.rb | 9941 | 0.562339636 | 0.553851605 | 1.51% |
micro-benchmarks/bm_lucas_lehmer.rb | 11213 | 0.750138474 | 0.736377808 | 1.83% |
micro-benchmarks/bm_lucas_lehmer.rb | 19937 | 2.921622909 | 2.917808062 | 0.13% |
micro-benchmarks/bm_mandelbrot.rb | 1 | 7.568357616 | 7.282273656 | 3.78% |
micro-benchmarks/bm_mbari_bogus1.rb | 1 | 0.019700559 | 0.020653362 | -4.84% |
micro-benchmarks/bm_mergesort.rb | 1 | 0.429642351 | 0.404129411 | 5.94% |
micro-benchmarks/bm_mergesort_hongli.rb | 3000 | 0.676850926 | 0.673826003 | 0.45% |
micro-benchmarks/bm_meteor_contest.rb | 1 | 3.805291502 | 3.630069959 | 4.60% |
micro-benchmarks/bm_monte_carlo_pi.rb | 10000000 | 2.359449302 | 2.196967268 | 6.89% |
micro-benchmarks/bm_nbody.rb | 100000 | 0.898108469 | 0.897828268 | 0.03% |
micro-benchmarks/bm_nsieve.rb | 9 | 2.177539100 | 2.056355906 | 5.57% |
micro-benchmarks/bm_observ.rb | 100000 | 0.300629705 | 0.268134252 | 10.81% |
micro-benchmarks/bm_open_many_files.rb | 50000 | 0.234240497 | 0.200070046 | 14.59% |
micro-benchmarks/bm_partial_sums.rb | 2500000 | 3.175624789 | 2.966665119 | 6.58% |
micro-benchmarks/bm_pathname.rb | 100 | 28.866053656 | 29.000798768 | -0.47% |
micro-benchmarks/bm_pi.rb | 1000 | 0.031816670 | 0.028837649 | 9.36% |
micro-benchmarks/bm_pi.rb | 10000 | 2.793874224 | 2.728208813 | 2.35% |
micro-benchmarks/bm_primes.rb | 3000 | 0.000884100 | 0.000834377 | 5.62% |
micro-benchmarks/bm_primes.rb | 30000 | 0.007950027 | 0.008346128 | -4.98% |
micro-benchmarks/bm_primes.rb | 300000 | 0.077019855 | 0.078940931 | -2.49% |
micro-benchmarks/bm_primes.rb | 3000000 | 0.774730695 | 0.765232657 | 1.23% |
micro-benchmarks/bm_quicksort.rb | 1 | 0.975718723 | 1.005529795 | -3.06% |
micro-benchmarks/bm_read_large.rb | 100 | 1.445822904 | 1.433691285 | 0.84% |
micro-benchmarks/bm_regex_dna.rb | 20 | 1.664740585 | 1.492710180 | 10.33% |
micro-benchmarks/bm_reverse_complement.rb | 1 | 2.260494686 | 2.219066674 | 1.83% |
micro-benchmarks/bm_simple_connect.rb | 1 | 0.000132251 | 0.000116141 | 12.18% |
micro-benchmarks/bm_simple_connect.rb | 100 | 0.003311302 | 0.003090082 | 6.68% |
micro-benchmarks/bm_simple_connect.rb | 500 | 0.016338940 | 0.015020540 | 8.07% |
micro-benchmarks/bm_simple_server.rb | 1 | 0.000133503 | 0.000155542 | -16.51% |
micro-benchmarks/bm_simple_server.rb | 100 | 0.000969707 | 0.000846978 | 12.66% |
micro-benchmarks/bm_simple_server.rb | 100000 | 0.729301984 | 0.658444843 | 9.72% |
micro-benchmarks/bm_so_ackermann.rb | 7 | 0.040541865 | 0.038593147 | 4.81% |
micro-benchmarks/bm_so_ackermann.rb | 9 | 0.649686458 | 0.608577279 | 6.33% |
micro-benchmarks/bm_so_array.rb | 9000 | 0.982821222 | 0.947042115 | 3.64% |
micro-benchmarks/bm_so_count_words.rb | 100 | 1.870193048 | 1.748334946 | 6.52% |
micro-benchmarks/bm_so_exception.rb | 500000 | 1.238312823 | 1.149542351 | 7.17% |
micro-benchmarks/bm_so_lists.rb | 1000 | 2.198686097 | 2.114709163 | 3.82% |
micro-benchmarks/bm_so_lists_small.rb | 1000 | 0.453313595 | 0.432864767 | 4.51% |
micro-benchmarks/bm_so_matrix.rb | 60 | 0.310554994 | 0.308662303 | 0.61% |
micro-benchmarks/bm_so_object.rb | 500000 | 0.244054583 | 0.254701496 | -4.36% |
micro-benchmarks/bm_so_object.rb | 1000000 | 0.510160533 | 0.523120809 | -2.54% |
micro-benchmarks/bm_so_object.rb | 1500000 | 0.786008195 | 0.787754481 | -0.22% |
micro-benchmarks/bm_so_sieve.rb | 4000 | 4.926280142 | 4.693643955 | 4.72% |
micro-benchmarks/bm_socket_transfer_1mb.rb | 10000 | 0.138346571 | 0.077399967 | 44.05% |
micro-benchmarks/bm_socket_transfer_1mb.rb | 1000000 | 0.138263657 | 0.078234789 | 43.42% |
micro-benchmarks/bm_socket_transfer_1mb_noblock.rb | 10000 | 0.144179379 | 0.078645168 | 45.45% |
micro-benchmarks/bm_socket_transfer_1mb_noblock.rb | 1000000 | 0.136524679 | 0.076419931 | 44.02% |
micro-benchmarks/bm_spectral_norm.rb | 100 | 0.087557986 | 0.086901845 | 0.75% |
micro-benchmarks/bm_string_concat.rb | 10000000 | 1.572824759 | 1.396739485 | 11.20% |
micro-benchmarks/bm_sum_file.rb | 100 | 2.483852444 | 2.512043986 | -1.13% |
micro-benchmarks/bm_word_anagrams.rb | 1 | 2.299233762 | 2.214820932 | 3.67% |
micro-benchmarks/bm_write_large.rb | 100 | 0.094776340 | 0.085387468 | 9.91% |
rdoc/bm_rdoc_against_itself_darkfish.rb | 1 | 5.156284378 | 4.492923306 | 12.87% |
rdoc/bm_rdoc_against_itself_ri.rb | 1 | 4.397700124 | 4.010792575 | 8.80% |
So, as we could see, ruby-2.2.0 does bring new performance increase, especially in Socket and GCs.