Report abuse

Managed Open Source blog code


			
# http://blog.managedopensource.com
# http://blog.managedopensource.com/2007/10/31/reversal-of-code-performance-optimizations-from-ruby-1-8-to-1-9

R analysis code for benchmarking results


			
> real_totals.for <- c(4.227468, 4.210407, 4.163847, 4.224626)
> real_totals.each <- c(3.314974, 3.363656, 3.321745, 3.379422)
> real_totals.list <- c(4.384898, 4.361846, 4.355446, 4.401145)
> real_totals.collect <- c(3.701988, 3.668885, 3.668928, 3.676394)
> ratios.for_to_each <- real_totals.for / real_totals.each
> ratios.each_to_for <- real_totals.each / real_totals.for
> ratios.list_to_collect <- real_totals.list / real_totals.collect
> ratios.collect_to_list <- real_totals.collect / real_totals.list
> ratios.for_to_each
[1] 1.275264 1.251735 1.253512 1.250103

> ratios.each_to_for
[1] 0.7841512 0.7988909 0.7977587 0.7999340

> ratios.list_to_collect
[1] 1.184471 1.188875 1.187117 1.197136

> ratios.collect_to_list
[1] 0.8442586 0.8411313 0.8423771 0.8353267

> stdev.for <- sd(real_totals.for)
> stdev.each <- sd(real_totals.each)
> stdev.list <- sd(real_totals.list)
> stdev.collect <- sd(real_totals.collect)
> stdev.for
[1] 0.02945461

> stdev.each
[1] 0.03149215

> stdev.list
[1] 0.02108821

> stdev.collect
[1] 0.01569489

> avg.for <- mean(real_totals.for)
> avg.each <- mean(real_totals.each)
> avg.list <- mean(real_totals.list)
> avg.collect <- mean(real_totals.collect)
> avg.for
[1] 4.206587

> avg.each
[1] 3.344949

> avg.list
[1] 4.375834

> avg.collect
[1] 3.679049

> avg.for / avg.each
[1] 1.257594

> avg.each / avg.for
[1] 0.7951694

> avg.list / avg.collect
[1] 1.189393

> avg.collect / avg.list
[1] 0.8407652