Skip to content

Commit c151298

Browse files
Reorganize benchmark scripts
Having these in a folder helps because we can document experiment results in it as well.
1 parent 0a638e4 commit c151298

3 files changed

Lines changed: 52 additions & 62 deletions

File tree

benchmark/generators.rb

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# frozen_string_literal: true
2+
3+
require 'benchmark/ips'
4+
require 'faker'
5+
6+
def all_generators
7+
generators.map do |klass|
8+
subclass_methods(klass).flatten
9+
end.flatten.sort
10+
end
11+
12+
def generators
13+
Faker.constants.delete_if do |subclass|
14+
%i[
15+
Base
16+
Cat
17+
Char
18+
Base58
19+
Config
20+
Date
21+
Deprecator
22+
Dog
23+
Religion
24+
Time
25+
VERSION
26+
].include?(subclass)
27+
end.sort
28+
end
29+
30+
def subclass_methods(subclass)
31+
eval("Faker::#{subclass}.public_methods(false) - Faker::Base.public_methods(false)").sort.map do |method|
32+
"Faker::#{subclass}.#{method}"
33+
end.sort
34+
end
35+
36+
Benchmark.ips do |x|
37+
x.report("Number of generators: #{all_generators.count}") do
38+
all_generators.each { |generator| eval(generator) }
39+
end
40+
end

benchmark/load_yml_vs_json.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# frozen_string_literal: true
2+
3+
require 'benchmark/ips'
4+
require 'json'
5+
require 'yaml'
6+
7+
Benchmark.ips do |x|
8+
x.report('YML') { YAML.load_file(File.expand_path("#{File.dirname(__FILE__)}/../lib/locales/es-MX.yml")) }
9+
x.report('JSON') { JSON.load_file("#{File.dirname(__FILE__)}/../test/fixtures/locales/es-MX.json") }
10+
11+
x.compare!(order: :baseline)
12+
end

tasks/benchmark.rake

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)