[dev] Links API + performance

Chuck Hagenbuch chuck at horde.org
Thu Oct 30 20:40:15 PST 2003


Quoting Bo Daley <bo at tilda.com.au>:

> Attached is a first shot at reworking the Links API to use categories instead
> of its own SQL driver. I haven't yet taken this as far as it can go, but
> already it has resulted in a significant performance improvement for pages in
> my system with large numbers of linked clients. (some of the pages that were
> previously taking 20-30 seconds -- eg. the Whups search page -- are now down
> to about 5 seconds, which makes them a bit more usable).

Nice! I've gone ahead and committed this, mainly because a). it's CVS HEAD, b).
it's a huge improvement, and c). this is going to be hell to apply/keep up to
date if we let it slide, given the number of files it touches (I still had
about 5 conflicts to figure out, so please double check things to make sure
they make sense).

> * I modified Turba so that the backend's read() function returns an array of
> contact objects rather than just a single object (which speeds up handling of
> large lists of objects). I don't know any ldap so this change will break the
> ldap backend unless someone can make the same change to
> turba/lib/Driver/ldap.php

I'm looking at this now.

> * I've included a script (migrate_links.php) that creates links in the new
> structure for people who were using clients in Whups. It doesn't update links
> for other apps that might have been using Links but I can probably add that
> in too if anyone needs it.

I tossed this into horde/scripts/ before thinking about this too hard; given
that, it should probably handle all applications. :)

> * reverse links don't seem to be working just yet. I'll get onto this soon.

Cool. Look forward to that and more performance tweaks. :)

> more soon... hopefully i haven't missed anything else..(!!)

Thanks!

-chuck

--
Charles Hagenbuch, <chuck at horde.org>
Born right the first time.


More information about the dev mailing list