benchmark_driver 0.10.16 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +5 -5
  2. data/.rspec +1 -0
  3. data/.travis.yml +1 -1
  4. data/CHANGELOG.md +16 -0
  5. data/README.md +25 -9
  6. data/Rakefile +5 -48
  7. data/benchmark-driver/.gitignore +12 -0
  8. data/benchmark-driver/CODE_OF_CONDUCT.md +74 -0
  9. data/benchmark-driver/Gemfile +6 -0
  10. data/benchmark-driver/LICENSE.txt +21 -0
  11. data/benchmark-driver/README.md +8 -0
  12. data/benchmark-driver/Rakefile +1 -0
  13. data/benchmark-driver/benchmark-driver.gemspec +21 -0
  14. data/benchmark-driver/bin/console +14 -0
  15. data/benchmark-driver/bin/setup +8 -0
  16. data/benchmark-driver/lib/benchmark-driver.rb +1 -0
  17. data/benchmark-driver/lib/benchmark/driver.rb +1 -0
  18. data/benchmark_driver.gemspec +3 -1
  19. data/exe/benchmark-driver +3 -3
  20. data/lib/benchmark_driver/config.rb +3 -3
  21. data/lib/benchmark_driver/metric.rb +70 -0
  22. data/lib/benchmark_driver/output.rb +62 -8
  23. data/lib/benchmark_driver/output/compare.rb +68 -52
  24. data/lib/benchmark_driver/output/markdown.rb +21 -16
  25. data/lib/benchmark_driver/output/record.rb +26 -21
  26. data/lib/benchmark_driver/output/simple.rb +21 -16
  27. data/lib/benchmark_driver/runner.rb +5 -3
  28. data/lib/benchmark_driver/runner/command_stdout.rb +19 -19
  29. data/lib/benchmark_driver/runner/ips.rb +30 -29
  30. data/lib/benchmark_driver/runner/memory.rb +15 -16
  31. data/lib/benchmark_driver/runner/once.rb +11 -15
  32. data/lib/benchmark_driver/runner/recorded.rb +28 -21
  33. data/lib/benchmark_driver/runner/ruby_stdout.rb +157 -0
  34. data/lib/benchmark_driver/runner/time.rb +7 -10
  35. data/lib/benchmark_driver/version.rb +1 -1
  36. metadata +46 -16
  37. data/examples/exec_blank.rb +0 -13
  38. data/examples/exec_blank_simple.rb +0 -13
  39. data/examples/yaml/array_duration_time.yml +0 -2
  40. data/examples/yaml/array_loop.yml +0 -3
  41. data/examples/yaml/blank_hash.yml +0 -8
  42. data/examples/yaml/blank_hash_array.yml +0 -10
  43. data/examples/yaml/blank_loop.yml +0 -9
  44. data/examples/yaml/blank_string.yml +0 -6
  45. data/examples/yaml/blank_string_array.yml +0 -8
  46. data/examples/yaml/example_multi.yml +0 -6
  47. data/examples/yaml/example_single.yml +0 -4
  48. data/lib/benchmark_driver/metrics.rb +0 -17
@@ -1,9 +0,0 @@
1
- loop_count: 20000000
2
- prelude: |
3
- class Array
4
- alias_method :blank?, :empty?
5
- end
6
- array = []
7
- benchmark:
8
- empty: array.empty?
9
- blank: array.blank?
@@ -1,6 +0,0 @@
1
- prelude: |
2
- class Array
3
- alias_method :blank?, :empty?
4
- end
5
- array = []
6
- benchmark: array.blank?
@@ -1,8 +0,0 @@
1
- prelude: |
2
- class Array
3
- alias_method :blank?, :empty?
4
- end
5
- array = []
6
- benchmark:
7
- - array.empty?
8
- - array.blank?
@@ -1,6 +0,0 @@
1
- prelude: |
2
- a = 'a' * 100
3
- b = 'b' * 100
4
- benchmark:
5
- join: '[a, b].join'
6
- str-interp: '"#{a}#{b}"'
@@ -1,4 +0,0 @@
1
- prelude: |
2
- require 'erb'
3
- erb = ERB.new(%q[Hello <%= 'World' %>])
4
- benchmark: erb.result
@@ -1,17 +0,0 @@
1
- require 'benchmark_driver/struct'
2
-
3
- # All benchmark results should be expressed by this model.
4
- module BenchmarkDriver
5
- Metrics = ::BenchmarkDriver::Struct.new(
6
- :value, # @param [Float] - The main field of benchmark result
7
- :executable, # @param [BenchmarkDriver::Config::Executable] - Measured Ruby executable
8
- :duration, # @param [Float,nil] - Time taken to run the script (optional)
9
- )
10
-
11
- Metrics::Type = ::BenchmarkDriver::Struct.new(
12
- :unit, # @param [String] - A label of unit for the value.
13
- :larger_better, # @param [TrueClass,FalseClass] - If true, larger value is preferred when measured multiple times.
14
- :worse_word, # @param [String] - A label shown when the value is worse.
15
- defaults: { larger_better: true, worse_word: 'slower' },
16
- )
17
- end