Dries Buytaert wrote:
2) Improved memory usage.
People might not care about memory and performance on the surface, but ISPs care about server resource usage, site maintainers worry about the number of visitors their site can support and their hardware needs in relation to supporting their community, and site visitor care about how quickly the page loads.
Why would splitting the router and the menu reduce memory usage? Have you tested this? I'd think you end up with more arrays and some duplication.
It is true that you will duplicate the 'path' string for every item where you have a visible menu. However, for every item where you don't have a visible menu, you'll eliminate all fields except for path, callback, callback arguments and access, and title. However x2, you won't load non-visible menu items that aren't being used *at all*; they will remain safely tucked away in the database, not eating memory except when used. Only the *visible* portion of the menu tree would be loaded. This, some saved memory. Some other good reasons: By disconnecting the visible menu from the router... 1) ...the menu title and the page title no longer need to be the same. 2) ...we will no longer have that very frustrating bug where adding a protected menu entry to the visible menu would remove all access controls to the item. 3) ...we make it easier to have multiple menu items go to the same place. Karoly has mentioned this several times, but I believe it is important to re-iterate, because it matters a great deal. 4) ...we make it easier to control where in the hierarchy your menu item actually falls. Right now that's all very automatic based upon the path. Which is all fine, but sometimes that's not what the developer wants, but the developer has no control over it. 5) ...we'll reduce the complexity of coding for tabs. Coding for tabs doesn't make a lot of sense right now, we're fairly limited in what we can do with them vs what users expect of them. Oh and creating a menu item that points to a tab will destroy the tab nature of the item. Kids love that trick.