[Kolab-devel] Re: Progress reports

Steffen Hansen steffen at klaralvdalens-datakonsult.se
Wed Jun 15 14:17:53 CEST 2005


On Monday 30 May 2005 12:50, Martin Konold wrote:

> I looked deeper into the performance problems of the server side
> freebusy generation (tested with 10.000 events in a folder). The
> current implementation is _extremly_ slow so that fb generation takes
> more than 5 minutes on an otherwise idling 3.3 GHz machine.....
>
> > > Did you consider to extend the client library? (Yes, I know it is
> > > _old_ c-code.)
> >
> > I did consider that. For about five minutes. I essentially came to
> > the conclusion that there is no way in hell I am going to touch
> > that code. If one were to extend the c-client library, it would
> > still take *WAY* too long to actually trickle down into the PHP
> > IMAP extension. With Net_IMAP we already have the solution
> > available to us.
>
> No this is no solution. I checked and will send a patch to this list
> later this week offering a patch to the c-client library so that we
> will get _extreme_ performance gains. (about two order of magnitude!)

The API of Net_IMAP is much cleaner than c-client and I am not too happy 
about modifying all our code to using the c-client functions in php.

Maybe it's a better idea to fix the issues with Net_IMAP's parser 
instead of waiting for new features in the imap c-client library to be 
exposed through php (could take quite a while unless we maintain all 
patches ourselves).

> In addition I took some time to look into the long proposed chaching
> of <IMAP-UID,ICAL-UID> and <ICAL-UID,list of FB tuples).

This, I agree, will result in a serious performance gain. But please 
consider all cases when implementing it. The databases need to me kept 
per-folder and invalidated with UIDValidity changes etc. -- just like a 
dimap client.

regards
-- 
Steffen Hansen          |       Klarälvdalens Datakonsult AB
Senior Software Engineer|       http://www.klaralvdalens-datakonsult.se
                        |
                        |       Platform-independent
                        |       software solutions




More information about the devel mailing list