[turba] Performance of turba with very large Address Book

Oliver Schönrock oliver@schonrocks.com
Thu, 12 Sep 2002 23:33:41 +0100


Turba is very slow on long lists. I have a few hundred in my lists and the 
performance is barely what I would call acceptable (About 3-5sec on a dual 
450 P2 server over a local 100Mhz LAN). The reasons are:

- the relatively complex OO code that generates each line
- the fact that each record contains not just the data displayed but also a 
fully serialised copy of the Turba_Contact object. This allows multistage 
searches to include the results from previous searches.
- The checkbox selection Javascript is very inefficient for size

It would be easy to write a specific script for a complete listing of 
addreses which only supports SQL and doesn't save the search results in the 
HTML page (the latter is kind of lame anyway from an architectural pov in 
my humble opinion).

Of course this would kill the flexibility, entensibility, reusability and 
maintainability of the code. But you can't have everything....!

Do people really want to scroll through lists of 2000 people? IE gets 
sluggish at about 300 already (which is a 600kb page!) Opera is Ok for a 
bit more, but 2000???

I think TURBA 1.1 which I am not running has a list view. Is that any more 
optimised? Could it be?

Oliver

--On 12 September 2002 17:11 -0400 Etienne Goyer 
<etienne.goyer@linuxquebec.com> wrote:

> Hi all,
>
> First thing first, I would like to raise my hat to all the developper of
> Horde, IMP and Turba.  These are awesome application.  Our clients love
> them and it bring good business in integration and customisation.  I had
> the chance to poke at the code quite a bit and I must say it is very
> good; the code is clear, modular, very flexible, easy to understand and
> modify.  I love it.
>
> Now, with my problem.  I have a client that is replacing Outlook
> entirely by a combination of IMP and Turba.  I had to do a few
> customisation to Turba to have it match the way they used Outlook.
> Among other thing, I built a system of public address book accessed thru
> the sql driver.  Basically, I added additionnal address book in
> turba/sources.php and a little glue.  A few of these added address book
> are very large, over 2000 contacts.
>
> The larger Address Book are very long to display when user search them
> without specifying a criteria (click "Search" without writing anything
> in the "Matching" test box).  It take a few minutes to display.
>
> So I was wondering : does anybody else use very large address book with
> the sql driver ?  Is your performance Ok ?  If not, do you have any tip
> about making it faster ? On profiling the problem ?
>
> Thank you all for your input.
>
> --
> Etienne Goyer                    Linux Québec Technologies Inc.
> http://www.LinuxQuebec.com       etienne.goyer@linuxquebec.com
> PGP Pub Key: http://www.LinuxQuebec.com/pubkeys/eg.key
> Fingerprint: F569 0394 098A FC70 B572  5D20 3129 3D86 8FD5 C853
>
> --
> Turba mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: turba-unsubscribe@lists.horde.org





Oliver Schönrock


20 The Gables
Old Town, Clapham
London SW4 0JX
United Kingdom

Mobile     : +44 7880 617 446
Fax        : +44 870 706 5749
email      : mailto:oliver@schonrocks.com