Skip to content

Instantly share code, notes, and snippets.

@IceDragon200
Created July 9, 2015 00:20
Show Gist options
  • Save IceDragon200/d3a1cfa8ee32a7056540 to your computer and use it in GitHub Desktop.
Save IceDragon200/d3a1cfa8ee32a7056540 to your computer and use it in GitHub Desktop.
n = 100
puts "Creating a #{n}**3 matrix"
10.times do |i|
puts "\tRun ##{i}"
# Array of Arrays
GC.disable
time_then = Time.now
m = Array.new(n) { Array.new(n) { Array.new(n, 0) } }
time_elapsed = Time.now - time_then
GC.enable
GC.start
puts "Array of Arrays: #{time_elapsed}"
# Flat Array
GC.disable
time_then = Time.now
m = Array.new(n**3)
time_elapsed = Time.now - time_then
GC.enable
GC.start
puts "Flat Array: #{time_elapsed}"
end
λ kana ruby → moon-mruby ary_bench.rb
Creating a 100**3 matrix
Run #0
Array of Arrays: 0.179287
Flat Array: 0.145617
Run #1
Array of Arrays: 0.164506
Flat Array: 0.144951
Run #2
Array of Arrays: 0.158388
Flat Array: 0.139434
Run #3
Array of Arrays: 0.156241
Flat Array: 0.139081
Run #4
Array of Arrays: 0.157879
Flat Array: 0.138775
Run #5
Array of Arrays: 0.156714
Flat Array: 0.139297
Run #6
Array of Arrays: 0.163671
Flat Array: 0.139745
Run #7
Array of Arrays: 0.158884
Flat Array: 0.14032
Run #8
Array of Arrays: 0.156603
Flat Array: 0.13958
Run #9
Array of Arrays: 0.156399
Flat Array: 0.139487
λ kana ruby → mruby ary_bench.rb
Creating a 100**3 matrix
Run #0
Array of Arrays: 0.398506
Flat Array: 0.335188
Run #1
Array of Arrays: 0.373319
Flat Array: 0.335153
Run #2
Array of Arrays: 0.360811
Flat Array: 0.330656
Run #3
Array of Arrays: 0.360592
Flat Array: 0.328822
Run #4
Array of Arrays: 0.360805
Flat Array: 0.333084
Run #5
Array of Arrays: 0.36057
Flat Array: 0.327735
Run #6
Array of Arrays: 0.359552
Flat Array: 0.328255
Run #7
Array of Arrays: 0.35978
Flat Array: 0.331904
Run #8
Array of Arrays: 0.360244
Flat Array: 0.331811
Run #9
Array of Arrays: 0.359497
Flat Array: 0.328115
λ kana ruby → ruby ary_bench.rb
Creating a 100**3 matrix
Run #0
Array of Arrays: 0.010430442
Flat Array: 0.004590283
Run #1
Array of Arrays: 0.005082562
Flat Array: 0.004056365
Run #2
Array of Arrays: 0.004972082
Flat Array: 0.001406953
Run #3
Array of Arrays: 0.004502605
Flat Array: 0.00147162
Run #4
Array of Arrays: 0.004436948
Flat Array: 0.001421021
Run #5
Array of Arrays: 0.004456008
Flat Array: 0.001431928
Run #6
Array of Arrays: 0.004403608
Flat Array: 0.001897751
Run #7
Array of Arrays: 0.006099313
Flat Array: 0.00143311
Run #8
Array of Arrays: 0.004403954
Flat Array: 0.001538081
Run #9
Array of Arrays: 0.004479004
Flat Array: 0.001433924
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment