From: "charliesome (Charlie Somerville)" Date: 2013-12-07T11:07:30+09:00 Subject: [ruby-core:58930] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows Issue #9221 has been updated by charliesome (Charlie Somerville). Reproduced on trunk: irb(main):027:0> RUBY_DESCRIPTION => "ruby 2.1.0dev (2013-12-07 trunk 44044) [x86_64-darwin13.0]" irb(main):028:0> Benchmark.measure { Time.parse("12:00 PM " + "f"*30) }.to_s => " 4.760000 0.000000 4.760000 ( 4.759983)\n" irb(main):029:0> Benchmark.measure { Time.parse("12:00 PM " + "f"*31) }.to_s => " 7.770000 0.000000 7.770000 ( 7.787989)\n" irb(main):030:0> Benchmark.measure { Time.parse("12:00 PM " + "f"*32) }.to_s => " 12.390000 0.000000 12.390000 ( 12.405786)\n" ---------------------------------------- Bug #9221: Time.parse performance becomes exponentially worse as string length grows https://bugs.ruby-lang.org/issues/9221#change-43479 Author: mpelzsherman (Michael Pelz-Sherman) Status: Open Priority: Normal Assignee: Category: core Target version: ruby -v: ruby-2.0.0-p247 Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN See attached script. Output: parsing 12:00 PM fffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.010443 parsing 12:00 PM ffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.017739 parsing 12:00 PM fffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.028127 parsing 12:00 PM ffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.049885 parsing 12:00 PM fffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.071379 parsing 12:00 PM ffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.112612 parsing 12:00 PM fffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.184517 parsing 12:00 PM ffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.293784 parsing 12:00 PM fffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.476253 parsing 12:00 PM ffffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 0.786087 parsing 12:00 PM fffffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 1.256976 parsing 12:00 PM ffffffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 2.019426 parsing 12:00 PM fffffffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 3.300646 parsing 12:00 PM ffffffffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 5.37757 parsing 12:00 PM fffffffffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 8.763601 parsing 12:00 PM ffffffffffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 14.165842 parsing 12:00 PM fffffffffffffffffffffffffffffffff 2013-12-05 12:00:00 -0500 elapsed: 23.888907 ... -- http://bugs.ruby-lang.org/