* [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows
@ 2013-12-05 13:53 mpelzsherman (Michael Pelz-Sherman)
2013-12-06 7:14 ` [ruby-core:58899] [ruby-trunk - Bug #9221] " duerst (Martin Dürst)
` (13 more replies)
0 siblings, 14 replies; 15+ messages in thread
From: mpelzsherman (Michael Pelz-Sherman) @ 2013-12-05 13:53 UTC (permalink / raw
To: ruby-core
Issue #9221 has been reported by mpelzsherman (Michael Pelz-Sherman).
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58899] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
@ 2013-12-06 7:14 ` duerst (Martin Dürst)
2013-12-06 14:40 ` [ruby-core:58912] " mpelzsherman (Michael Pelz-Sherman)
` (12 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: duerst (Martin Dürst) @ 2013-12-06 7:14 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by duerst (Martin Dürst).
This runs in no time on ruby 2.0.0p247 (2013-06-27) [i386-mingw32] (same patch level!). Can you give more details about your environment?
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43451
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58912] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
2013-12-06 7:14 ` [ruby-core:58899] [ruby-trunk - Bug #9221] " duerst (Martin Dürst)
@ 2013-12-06 14:40 ` mpelzsherman (Michael Pelz-Sherman)
2013-12-06 14:41 ` [ruby-core:58913] " mpelzsherman (Michael Pelz-Sherman)
` (11 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: mpelzsherman (Michael Pelz-Sherman) @ 2013-12-06 14:40 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by mpelzsherman (Michael Pelz-Sherman).
duerst (Martin Dürst) wrote:
> This runs in no time on ruby 2.0.0p247 (2013-06-27) [i386-mingw32] (same patch level!). Can you give more details about your environment?
Model Name: MacBook Pro
Model Identifier: MacBookPro9,1
Processor Name: Intel Core i7
Processor Speed: 2.3 GHz
Number of Processors: 1
Total Number of Cores: 4
L2 Cache (per Core): 256 KB
L3 Cache: 6 MB
Memory: 16 GB
Boot ROM Version: MBP91.00D3.B08
SMC Version (system): 2.1f173
Serial Number (system): C02JP19HF1G3
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43463
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58913] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
2013-12-06 7:14 ` [ruby-core:58899] [ruby-trunk - Bug #9221] " duerst (Martin Dürst)
2013-12-06 14:40 ` [ruby-core:58912] " mpelzsherman (Michael Pelz-Sherman)
@ 2013-12-06 14:41 ` mpelzsherman (Michael Pelz-Sherman)
2013-12-07 2:07 ` [ruby-core:58930] " charliesome (Charlie Somerville)
` (10 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: mpelzsherman (Michael Pelz-Sherman) @ 2013-12-06 14:41 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by mpelzsherman (Michael Pelz-Sherman).
Running ruby-2.0.0-p247 [ x86_64 ], installed using RVM.
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43464
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58930] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (2 preceding siblings ...)
2013-12-06 14:41 ` [ruby-core:58913] " mpelzsherman (Michael Pelz-Sherman)
@ 2013-12-07 2:07 ` charliesome (Charlie Somerville)
2013-12-07 7:48 ` [ruby-core:58937] " hsbt (Hiroshi SHIBATA)
` (9 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: charliesome (Charlie Somerville) @ 2013-12-07 2:07 UTC (permalink / raw
To: ruby-core
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58937] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (3 preceding siblings ...)
2013-12-07 2:07 ` [ruby-core:58930] " charliesome (Charlie Somerville)
@ 2013-12-07 7:48 ` hsbt (Hiroshi SHIBATA)
2013-12-08 10:56 ` [ruby-core:58967] " phasis68 (Heesob Park)
` (8 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: hsbt (Hiroshi SHIBATA) @ 2013-12-07 7:48 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by hsbt (Hiroshi SHIBATA).
Target version set to current: 2.1.0
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43487
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Open
Priority: Normal
Assignee:
Category: core
Target version: current: 2.1.0
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58967] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (4 preceding siblings ...)
2013-12-07 7:48 ` [ruby-core:58937] " hsbt (Hiroshi SHIBATA)
@ 2013-12-08 10:56 ` phasis68 (Heesob Park)
2013-12-08 12:38 ` [ruby-core:58969] [ruby-trunk - Bug #9221][Assigned] " akr (Akira Tanaka)
` (7 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: phasis68 (Heesob Park) @ 2013-12-08 10:56 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by phasis68 (Heesob Park).
It can be reproduced on ruby 2.0.0-p247 i386-mingw32.
I modified a test code to do not use extension library.
C:\work>ruby -v
ruby 2.0.0p247 (2013-06-27) [i386-mingw32]
C:\work>type test.rb
require 'benchmark'
str = "12:00 PM fffffffffffffffffffffffffffff"
pat=/((?:\d+\s*:\s*\d+(?:\s*:\s*\d+(?:[,.]\d*)?)?|\d+\s*h(?:\s*\d+m?(?:\s*\d+s?)
?)?)(?:\s*[ap](?:m\b|\.m\.))?|\d+\s*[ap](?:m\b|\.m\.))(?:\s*((?:gmt|utc?)?[-+]\d
+(?:[,.:]\d+(?::\d+)?)?|[[:alpha:].\s]+(?:standard|daylight)\stime\b|[[:alpha:]]
+(?:\sdst)?\b))?/i
p Benchmark.measure { pat.match(str) }
C:\work>ruby test.rb
#<Benchmark::Tms:0x24a3440 @label="", @real=3.303211, @cstime=0.0, @cutime=0.0,
@stime=0.0, @utime=3.2969999999999997, @total=3.2969999999999997>
Interestingly, this issue is not reproduced on irb session or without filename.
C:\work>ruby < test.rb
#<Benchmark::Tms:0x24cf4e0 @label="", @real=0.0, @cstime=0.0, @cutime=0.0, @stim
e=0.0, @utime=0.0, @total=0.0>
C:\work>irb
DL is deprecated, please use Fiddle
irb(main):001:0> require 'benchmark'
=> true
irb(main):002:0> str = "12:00 PM fffffffffffffffffffffffffffff"
=> "12:00 PM fffffffffffffffffffffffffffff"
<:].\s]+(?:standard|daylight)\stime\b|[[:alpha:]]+(?:\sdst)?\b))?/i
=> /((?:\d+\s*:\s*\d+(?:\s*:\s*\d+(?:[,.]\d*)?)?|\d+\s*h(?:\s*\d+m?(?:\s*\d+s?)?
)?)(?:\s*[ap](?:m\b|\.m\.))?|\d+\s*[ap](?:m\b|\.m\.))(?:\s*((?:gmt|utc?)?[-+]\d+
(?:[,.:]\d+(?::\d+)?)?|[[:alpha:].\s]+(?:standard|daylight)\stime\b|[[:alpha:]]+
(?:\sdst)?\b))?/i
irb(main):004:0> p Benchmark.measure { pat.match(str) }
#<Benchmark::Tms:0x27059a0 @label="", @real=0.0, @cstime=0.0, @cutime=0.0, @stim
e=0.0, @utime=0.0, @total=0.0>
=> #<Benchmark::Tms:0x27059a0 @label="", @real=0.0, @cstime=0.0, @cutime=0.0, @s
time=0.0, @utime=0.0, @total=0.0>
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43517
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Open
Priority: Normal
Assignee:
Category: core
Target version: current: 2.1.0
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58969] [ruby-trunk - Bug #9221][Assigned] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (5 preceding siblings ...)
2013-12-08 10:56 ` [ruby-core:58967] " phasis68 (Heesob Park)
@ 2013-12-08 12:38 ` akr (Akira Tanaka)
2013-12-09 1:34 ` [ruby-core:58979] [ruby-trunk - Bug #9221] " phasis68 (Heesob Park)
` (6 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: akr (Akira Tanaka) @ 2013-12-08 12:38 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by akr (Akira Tanaka).
Status changed from Open to Assigned
Assignee set to tadf (tadayoshi funaba)
I assigned this issue to tadf because the pattern
is written in ext/date/date_parse.c.
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43520
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Assigned
Priority: Normal
Assignee: tadf (tadayoshi funaba)
Category: core
Target version: current: 2.1.0
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58979] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (6 preceding siblings ...)
2013-12-08 12:38 ` [ruby-core:58969] [ruby-trunk - Bug #9221][Assigned] " akr (Akira Tanaka)
@ 2013-12-09 1:34 ` phasis68 (Heesob Park)
2013-12-09 1:59 ` [ruby-core:58980] " nobu (Nobuyoshi Nakada)
` (5 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: phasis68 (Heesob Park) @ 2013-12-09 1:34 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by phasis68 (Heesob Park).
I think this is an issue of Oniguruma(regular expressions library).
Here is a shortest code of producing this issue.
p /(?:[[:alpha:]]+\s)?/i.match("f"*40)
The [:alpha:] bracket and case ignore flag combination shows bad performance.
The simple workaround is using [a-z] instead of [:alpha:].
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43531
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Assigned
Priority: Normal
Assignee: tadf (tadayoshi funaba)
Category: core
Target version: current: 2.1.0
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58980] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (7 preceding siblings ...)
2013-12-09 1:34 ` [ruby-core:58979] [ruby-trunk - Bug #9221] " phasis68 (Heesob Park)
@ 2013-12-09 1:59 ` nobu (Nobuyoshi Nakada)
2013-12-09 2:43 ` [ruby-core:58984] " phasis68 (Heesob Park)
` (4 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: nobu (Nobuyoshi Nakada) @ 2013-12-09 1:59 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by nobu (Nobuyoshi Nakada).
[[:alpha:]] doesn't equal to [a-z], the former matches unicode alphabet categories.
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43532
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Assigned
Priority: Normal
Assignee: tadf (tadayoshi funaba)
Category: core
Target version: current: 2.1.0
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58984] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (8 preceding siblings ...)
2013-12-09 1:59 ` [ruby-core:58980] " nobu (Nobuyoshi Nakada)
@ 2013-12-09 2:43 ` phasis68 (Heesob Park)
2013-12-09 15:20 ` [ruby-core:58999] [ruby-trunk - Bug #9221][Open] " nagachika (Tomoyuki Chikanaga)
` (3 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: phasis68 (Heesob Park) @ 2013-12-09 2:43 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by phasis68 (Heesob Park).
I know [[:alpha:]] is not equal to [a-z].
But, it seems that the current time parsing is only for ascii string.
BTW, date_strptime.c has the same regular expression on line 567-572.
It should be modified also.
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43537
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Closed
Priority: Normal
Assignee: tadf (tadayoshi funaba)
Category: core
Target version: current: 2.1.0
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:58999] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (9 preceding siblings ...)
2013-12-09 2:43 ` [ruby-core:58984] " phasis68 (Heesob Park)
@ 2013-12-09 15:20 ` nagachika (Tomoyuki Chikanaga)
2013-12-10 2:42 ` [ruby-core:59015] [ruby-trunk - Bug #9221] " headius (Charles Nutter)
` (2 subsequent siblings)
13 siblings, 0 replies; 15+ messages in thread
From: nagachika (Tomoyuki Chikanaga) @ 2013-12-09 15:20 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by nagachika (Tomoyuki Chikanaga).
Status changed from Closed to Open
Backport changed from 1.9.3: UNKNOWN, 2.0.0: UNKNOWN to 1.9.3: REQUIRED, 2.0.0: REQUIRED
Thank you for your notice. I'll re-open this ticket.
And I confirmed ruby_1_9_3 and ruby_2_0_0 have these regular expressions.
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43552
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Open
Priority: Normal
Assignee: tadf (tadayoshi funaba)
Category: core
Target version: current: 2.1.0
ruby -v: ruby-2.0.0-p247
Backport: 1.9.3: REQUIRED, 2.0.0: REQUIRED
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:59015] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (10 preceding siblings ...)
2013-12-09 15:20 ` [ruby-core:58999] [ruby-trunk - Bug #9221][Open] " nagachika (Tomoyuki Chikanaga)
@ 2013-12-10 2:42 ` headius (Charles Nutter)
2013-12-20 18:50 ` [ruby-core:59237] " nagachika (Tomoyuki Chikanaga)
2014-01-29 5:45 ` [ruby-core:60201] " usa
13 siblings, 0 replies; 15+ messages in thread
From: headius (Charles Nutter) @ 2013-12-10 2:42 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by headius (Charles Nutter).
Also affects JRuby: https://github.com/jruby/jruby/issues/1319
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43565
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Open
Priority: Normal
Assignee: tadf (tadayoshi funaba)
Category: core
Target version: current: 2.1.0
ruby -v: ruby-2.0.0-p247
Backport: 1.9.3: REQUIRED, 2.0.0: REQUIRED
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:59237] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (11 preceding siblings ...)
2013-12-10 2:42 ` [ruby-core:59015] [ruby-trunk - Bug #9221] " headius (Charles Nutter)
@ 2013-12-20 18:50 ` nagachika (Tomoyuki Chikanaga)
2014-01-29 5:45 ` [ruby-core:60201] " usa
13 siblings, 0 replies; 15+ messages in thread
From: nagachika (Tomoyuki Chikanaga) @ 2013-12-20 18:50 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by nagachika (Tomoyuki Chikanaga).
Backport changed from 1.9.3: REQUIRED, 2.0.0: REQUIRED to 1.9.3: REQUIRED, 2.0.0: DONE
r44086 and r44126 are backported to ruby_2_0_0 branch at r44126.
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-43786
Author: mpelzsherman (Michael Pelz-Sherman)
Status: Closed
Priority: Normal
Assignee: tadf (tadayoshi funaba)
Category: core
Target version: current: 2.1.0
ruby -v: ruby-2.0.0-p247
Backport: 1.9.3: REQUIRED, 2.0.0: DONE
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/
^ permalink raw reply [flat|nested] 15+ messages in thread
* [ruby-core:60201] [ruby-trunk - Bug #9221] Time.parse performance becomes exponentially worse as string length grows
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
` (12 preceding siblings ...)
2013-12-20 18:50 ` [ruby-core:59237] " nagachika (Tomoyuki Chikanaga)
@ 2014-01-29 5:45 ` usa
13 siblings, 0 replies; 15+ messages in thread
From: usa @ 2014-01-29 5:45 UTC (permalink / raw
To: ruby-core
Issue #9221 has been updated by Usaku NAKAMURA.
Backport changed from 1.9.3: REQUIRED, 2.0.0: DONE to 1.9.3: DONE, 2.0.0: DONE
backported into ruby_1_9_3 at r44746.
----------------------------------------
Bug #9221: Time.parse performance becomes exponentially worse as string length grows
https://bugs.ruby-lang.org/issues/9221#change-44686
* Author: Michael Pelz-Sherman
* Status: Closed
* Priority: Normal
* Assignee: tadayoshi funaba
* Category: core
* Target version: 2.1.0
* ruby -v: ruby-2.0.0-p247
* Backport: 1.9.3: DONE, 2.0.0: DONE
----------------------------------------
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
...
---Files--------------------------------
time_parse.rb (237 Bytes)
--
http://bugs.ruby-lang.org/
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2014-01-29 5:59 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-12-05 13:53 [ruby-core:58876] [ruby-trunk - Bug #9221][Open] Time.parse performance becomes exponentially worse as string length grows mpelzsherman (Michael Pelz-Sherman)
2013-12-06 7:14 ` [ruby-core:58899] [ruby-trunk - Bug #9221] " duerst (Martin Dürst)
2013-12-06 14:40 ` [ruby-core:58912] " mpelzsherman (Michael Pelz-Sherman)
2013-12-06 14:41 ` [ruby-core:58913] " mpelzsherman (Michael Pelz-Sherman)
2013-12-07 2:07 ` [ruby-core:58930] " charliesome (Charlie Somerville)
2013-12-07 7:48 ` [ruby-core:58937] " hsbt (Hiroshi SHIBATA)
2013-12-08 10:56 ` [ruby-core:58967] " phasis68 (Heesob Park)
2013-12-08 12:38 ` [ruby-core:58969] [ruby-trunk - Bug #9221][Assigned] " akr (Akira Tanaka)
2013-12-09 1:34 ` [ruby-core:58979] [ruby-trunk - Bug #9221] " phasis68 (Heesob Park)
2013-12-09 1:59 ` [ruby-core:58980] " nobu (Nobuyoshi Nakada)
2013-12-09 2:43 ` [ruby-core:58984] " phasis68 (Heesob Park)
2013-12-09 15:20 ` [ruby-core:58999] [ruby-trunk - Bug #9221][Open] " nagachika (Tomoyuki Chikanaga)
2013-12-10 2:42 ` [ruby-core:59015] [ruby-trunk - Bug #9221] " headius (Charles Nutter)
2013-12-20 18:50 ` [ruby-core:59237] " nagachika (Tomoyuki Chikanaga)
2014-01-29 5:45 ` [ruby-core:60201] " usa
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).