Created
June 28, 2024 00:24
-
-
Save mrinterweb/efd866929c7ad329cf43b74a55eb0ab4 to your computer and use it in GitHub Desktop.
faker vs ffaker benchmark
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'faker' | |
require 'ffaker' | |
require 'benchmark/ips' | |
Benchmark.ips do |x| | |
x.warmup = 2 | |
x.report("Faker::Name.name") { Faker::Name.name } | |
x.report("FFaker::Name.name") { FFaker::Name.name } | |
x.compare! | |
end | |
Benchmark.ips do |x| | |
x.warmup = 2 | |
x.report("Faker::Internet.email") { Faker::Internet.email } | |
x.report("FFaker::Internet.email") { FFaker::Internet.email } | |
x.compare! | |
end | |
Benchmark.ips do |x| | |
x.warmup = 2 | |
x.report("Faker::PhoneNumber.phone_number") { Faker::PhoneNumber.phone_number } | |
x.report("FFaker::PhoneNumber.phone_number") { FFaker::PhoneNumber.phone_number } | |
x.compare! | |
end | |
Benchmark.ips do |x| | |
x.warmup = 2 | |
x.report("Faker::Lorem.paragraph") { Faker::Lorem.paragraph } | |
x.report("FFaker::Lorem.paragraph") { FFaker::Lorem.paragraph } | |
x.compare! | |
end |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ruby 3.3.3 (2024-06-12 revision f1c7b6f435) +YJIT [arm64-darwin23] | |
Warming up -------------------------------------- | |
Faker::Name.name 1.000 i/100ms | |
FFaker::Name.name 213.224k i/100ms | |
Calculating ------------------------------------- | |
Faker::Name.name 21.293k (±20.4%) i/s - 97.254k in 4.981906s | |
FFaker::Name.name 2.248M (± 0.5%) i/s - 11.301M in 5.028080s | |
Comparison: | |
FFaker::Name.name: 2247601.4 i/s | |
Faker::Name.name: 21293.1 i/s - 105.56x slower | |
ruby 3.3.3 (2024-06-12 revision f1c7b6f435) +YJIT [arm64-darwin23] | |
Warming up -------------------------------------- | |
Faker::Internet.email | |
2.015k i/100ms | |
FFaker::Internet.email | |
34.279k i/100ms | |
Calculating ------------------------------------- | |
Faker::Internet.email | |
20.181k (± 0.6%) i/s - 102.765k in 5.092347s | |
FFaker::Internet.email | |
347.032k (± 0.5%) i/s - 1.748M in 5.037784s | |
Comparison: | |
FFaker::Internet.email: 347031.8 i/s | |
Faker::Internet.email: 20181.0 i/s - 17.20x slower | |
ruby 3.3.3 (2024-06-12 revision f1c7b6f435) +YJIT [arm64-darwin23] | |
Warming up -------------------------------------- | |
Faker::PhoneNumber.phone_number | |
10.348k i/100ms | |
FFaker::PhoneNumber.phone_number | |
30.298k i/100ms | |
Calculating ------------------------------------- | |
Faker::PhoneNumber.phone_number | |
103.161k (± 0.8%) i/s - 517.400k in 5.015743s | |
FFaker::PhoneNumber.phone_number | |
304.515k (± 0.5%) i/s - 1.545M in 5.074403s | |
Comparison: | |
FFaker::PhoneNumber.phone_number: 304514.9 i/s | |
Faker::PhoneNumber.phone_number: 103161.1 i/s - 2.95x slower | |
ruby 3.3.3 (2024-06-12 revision f1c7b6f435) +YJIT [arm64-darwin23] | |
Warming up -------------------------------------- | |
Faker::Lorem.paragraph | |
1.314k i/100ms | |
FFaker::Lorem.paragraph | |
14.399k i/100ms | |
Calculating ------------------------------------- | |
Faker::Lorem.paragraph | |
13.220k (± 5.5%) i/s - 67.014k in 5.093327s | |
FFaker::Lorem.paragraph | |
146.450k (± 0.5%) i/s - 734.349k in 5.014460s | |
Comparison: | |
FFaker::Lorem.paragraph: 146449.6 i/s | |
Faker::Lorem.paragraph: 13219.7 i/s - 11.08x slower |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment