-
-
Notifications
You must be signed in to change notification settings - Fork 419
/
Copy pathtypecast_ips.rb
27 lines (23 loc) · 1.39 KB
/
typecast_ips.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
require 'bundler/setup'
require 'flipper'
require 'benchmark/ips'
Benchmark.ips do |x|
x.report("Typecast.to_boolean true") { Flipper::Typecast.to_boolean(true) }
x.report("Typecast.to_boolean 1") { Flipper::Typecast.to_boolean(1) }
x.report("Typecast.to_boolean 'true'") { Flipper::Typecast.to_boolean('true'.freeze) }
x.report("Typecast.to_boolean '1'") { Flipper::Typecast.to_boolean('1'.freeze) }
x.report("Typecast.to_boolean false") { Flipper::Typecast.to_boolean(false) }
x.report("Typecast.to_integer 1") { Flipper::Typecast.to_integer(1) }
x.report("Typecast.to_integer '1'") { Flipper::Typecast.to_integer('1') }
x.report("Typecast.to_float 1") { Flipper::Typecast.to_float(1) }
x.report("Typecast.to_float '1'") { Flipper::Typecast.to_float('1'.freeze) }
x.report("Typecast.to_float 1.01") { Flipper::Typecast.to_float(1) }
x.report("Typecast.to_float '1.01'") { Flipper::Typecast.to_float('1'.freeze) }
x.report("Typecast.to_number 1") { Flipper::Typecast.to_number(1) }
x.report("Typecast.to_number 1.1") { Flipper::Typecast.to_number(1.1) }
x.report("Typecast.to_number '1'") { Flipper::Typecast.to_number('1'.freeze) }
x.report("Typecast.to_number '1.1'") { Flipper::Typecast.to_number('1.1'.freeze) }
x.report("Typecast.to_number nil") { Flipper::Typecast.to_number(nil) }
time = Time.now
x.report("Typecast.to_number Time.now") { Flipper::Typecast.to_number(time) }
end