[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