From: watson1978@... Date: 2017-04-12T12:59:25+00:00 Subject: [ruby-core:80665] [Ruby trunk Bug#13426] Improve performance of implicit type conversion using #to_r Issue #13426 has been reported by watson1978 (Shizuo Fujita). ---------------------------------------- Bug #13426: Improve performance of implicit type conversion using #to_r https://bugs.ruby-lang.org/issues/13426 * Author: watson1978 (Shizuo Fujita) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- This patch will improve performance in implicit type conversion using #to_r At least, Integer#quo will be faster around 40%. And, this will improve some Time methods which calling quov() internally. ### Before ~~~ user system total real Integer#quo 2.030000 0.010000 2.040000 ( 2.031988) Time#subsec 2.410000 0.000000 2.410000 ( 2.412172) ~~~ ### After ~~~ user system total real Integer#quo 1.460000 0.000000 1.460000 ( 1.463345) Time#subsec 2.050000 0.010000 2.060000 ( 2.056003) ~~~ ### Test code ~~~ require 'benchmark' Benchmark.bmbm do |x| x.report "Integer#quo" do 5000000.times do 42.quo(3) end end x.report "Time#subsec" do t = Time.now 4000000.times do t.subsec end end end ~~~ ### Patch https://github.com/ruby/ruby/pull/1582 -- https://bugs.ruby-lang.org/ Unsubscribe: