Forum OpenACS Development: Re: Scalability in site node initialization routine

Collapse
Posted by Jeff Davis on
I committed I revised version of site_node::get_children to HEAD which is about 3 times faster on my local install (with about 100 nodes).

The big win was not doing the array set twice, and not copying the full list of child_urls unless you needed to. And in a somewhat gratuitous optimization, I got rid of the regexp to figure out if a node was an immediate child (which I think saved 2usec/node).

the -exact did not really matter since it tries an exact match first and since it got the names from the nsv in the first place there is always an exact match (although I guess if you deleted a node while this call was running you might get the wrong result there). And in any case I switched it to do a direct nsv_get.