benchmark_driver 0.10.16 → 0.11.0

Sign up to get free protection for your applications and to get access to all the features.
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