Last active
August 29, 2015 14:13
-
-
Save onemanstartup/e896daf3ef3a344611b3 to your computer and use it in GitHub Desktop.
This file contains 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' | |
# user system total real | |
# 2.150000 0.200000 2.350000 ( 2.397291) | |
# 2.830000 0.160000 2.990000 ( 3.060009) | |
# user system total real | |
# 2.130000 0.160000 2.290000 ( 2.324952) | |
# 2.810000 0.170000 2.980000 ( 3.022856) | |
#1000 | |
#1000 | |
def long_method | |
a = [] | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
end | |
def many_short_methods | |
a = [] | |
100.times { a = short_1 a} | |
a | |
end | |
def short_1 (a) | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
a << 1 | |
end | |
n = 50000 | |
Benchmark.bm do |x| | |
x.report { n.times { long_method } } | |
x.report { n.times { many_short_methods } } | |
end | |
Benchmark.bm do |x| | |
x.report { n.times { long_method } } | |
x.report { n.times { many_short_methods } } | |
end | |
puts long_method.count | |
puts many_short_methods.count |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment