6.0.0-beta1
7/7/25

[#8563] Performance issues with Horde Routes
Summary Performance issues with Horde Routes
Queue Horde Framework Packages
Queue Version Git master
Type Enhancement
State Resolved
Priority 1. Low
Owners chuck (at) horde (dot) org
Requester fabio.bacigalupo (at) gmail (dot) com
Created 09/08/2009 (5781 days ago)
Due
Updated 04/05/2010 (5572 days ago)
Assigned 09/09/2009 (5780 days ago)
Resolved 04/05/2010 (5572 days ago)
Milestone
Patch No

History
04/05/2010 01:21:11 PM Jan Schneider State ⇒ Resolved
 
09/25/2009 08:09:44 PM Chuck Hagenbuch Comment #3
Taken from Mike Naberezny
State ⇒ Feedback
Reply to this comment
Can someone please try what I committed here?
09/25/2009 08:08:30 PM CVS Commit Comment #2 Reply to this comment
09/09/2009 07:22:44 AM Jan Schneider State ⇒ Assigned
Assigned to Mike Naberezny
Assigned to Chuck Hagenbuch
 
09/08/2009 05:31:33 PM fabio (dot) bacigalupo (at) gmail (dot) com Comment #1
Priority ⇒ 1. Low
Type ⇒ Enhancement
Summary ⇒ Performance issues with Horde Routes
Queue ⇒ Horde Framework Packages
Milestone ⇒
Patch ⇒ No
State ⇒ New
Reply to this comment
We are experiencing performance issues with Horde Routes (version 
0.4). We are using HR as part of the Seagull framework where the Horde 
Routes package is integrated very nicely.



We have around 200 rules for Horde Routes to process. If I test with 
just one rule the function _createGens() takes 0,16ms. With 50 active 
rules the function takes around 18ms to pass. With all of them active 
the same function in Horde/Routes/Mapper.php takes a bit more than 
1000ms on every page request to execute. It seems there is a 
correlation between the number of rules and the execution time which 
increases drastically on every rule added after a certain point.



It's no surprise looking at the code of _createGens() which iterates 
through the list of rules three times.



A possible solution is to cache the entire "$gendict" in Mapper.php 
(~line 330-380) after it is first generated.



This ticket is a follow-up to a conversation [1],[2] held on the dev list.



[1] http://lists.horde.org/archives/dev/Week-of-Mon-20090817/024285.html

[2] http://lists.horde.org/archives/dev/Week-of-Mon-20090824/024313.html

Saved Queries