benchmark_driver 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (49) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +0 -4
  3. data/.travis.yml +10 -6
  4. data/Gemfile +7 -2
  5. data/Gemfile.lock +30 -0
  6. data/README.md +125 -117
  7. data/Rakefile +14 -7
  8. data/benchmark_driver.gemspec +2 -4
  9. data/bin/console +1 -1
  10. data/examples/call.rb +12 -0
  11. data/examples/call_blank.rb +13 -0
  12. data/examples/call_erb.rb +33 -0
  13. data/examples/call_interpolation.rb +13 -0
  14. data/examples/exec_blank.rb +14 -0
  15. data/examples/exec_interpolation.rb +15 -0
  16. data/examples/yaml/array_duration_time.yml +3 -0
  17. data/examples/yaml/array_loop.yml +3 -0
  18. data/examples/yaml/array_loop_memory.yml +6 -0
  19. data/examples/yaml/array_loop_time.yml +4 -0
  20. data/examples/yaml/blank_hash.yml +8 -0
  21. data/examples/yaml/blank_hash_array.yml +10 -0
  22. data/examples/yaml/blank_loop.yml +9 -0
  23. data/examples/yaml/blank_loop_time.yml +10 -0
  24. data/examples/yaml/blank_string.yml +6 -0
  25. data/examples/yaml/blank_string_array.yml +8 -0
  26. data/examples/yaml/example_multi.yml +6 -0
  27. data/{benchmarks → examples/yaml}/example_single.yml +0 -0
  28. data/exe/benchmark-driver +44 -18
  29. data/lib/benchmark/driver.rb +52 -257
  30. data/lib/benchmark/driver/benchmark_result.rb +21 -0
  31. data/lib/benchmark/driver/configuration.rb +65 -0
  32. data/lib/benchmark/driver/duration_runner.rb +24 -0
  33. data/lib/benchmark/driver/error.rb +16 -0
  34. data/lib/benchmark/driver/repeatable_runner.rb +18 -0
  35. data/lib/benchmark/driver/ruby_dsl_parser.rb +57 -0
  36. data/lib/benchmark/driver/time.rb +12 -0
  37. data/lib/benchmark/driver/version.rb +2 -2
  38. data/lib/benchmark/driver/yaml_parser.rb +103 -0
  39. data/lib/benchmark/output.rb +16 -0
  40. data/lib/benchmark/output/ips.rb +114 -0
  41. data/lib/benchmark/output/memory.rb +57 -0
  42. data/lib/benchmark/output/time.rb +57 -0
  43. data/lib/benchmark/runner.rb +13 -0
  44. data/lib/benchmark/runner/call.rb +97 -0
  45. data/lib/benchmark/runner/exec.rb +190 -0
  46. metadata +40 -10
  47. data/benchmarks/core/array.yml +0 -4
  48. data/benchmarks/example_multi.yml +0 -10
  49. data/benchmarks/lib/erb.yml +0 -30
@@ -1,4 +0,0 @@
1
- benchmarks:
2
- - name: bm_vm2_array
3
- benchmark: a = [1,2,3,4,5,6,7,8,9,10]
4
- loop_count: 6000000
@@ -1,10 +0,0 @@
1
- prelude: |
2
- a = 'a' * 100
3
- b = 'b' * 100
4
- benchmarks:
5
- - name: join
6
- benchmark: |
7
- [a, b].join
8
- - name: interpolation
9
- benchmark: |
10
- "#{a}#{b}"
@@ -1,30 +0,0 @@
1
- prelude: |
2
- require 'erb'
3
-
4
- template = <<EOS
5
- <html>
6
- <head> <%= title %> </head>
7
- <body>
8
- <h1> <%= title %> </h1>
9
- <p>
10
- <%= content %>
11
- </p>
12
- </body>
13
- </html>
14
- EOS
15
-
16
- title = "hello world!"
17
- content = "hello world!\n" * 10
18
-
19
- benchmarks:
20
- - name: ERB compiling
21
- benchmark: ERB.new(template)
22
- loop_count: 10000
23
-
24
- - name: ERB rendering
25
- prelude: |
26
- src = "def self.render(title, content); #{ERB.new(template).src}; end"
27
- mod = Module.new
28
- mod.instance_eval(src, "(ERB)")
29
- benchmark: mod.render(title, content)
30
- loop_count: 100000