I have the same performance problem!!
A mailbox with 1500 messages takes minutes (!) to load. I also get
errors like this in the log:
[09-Nov-2005 23:07:50] PHP Fatal error: Allowed memory size of 8388608
bytes exhausted (tried to allocate 1024 bytes) in
/var/www/roundcube/program/lib/imap.inc on line 1412
I noticed that the identical imap core is used as Ilohamail. But when
I'm using Ilohamail, I do not have the performance issues!! This made me
wonder, because i want to use RoundCube...
When I look in the code, I found this line in function _list_headers (in
file program/include/rcube_imap.inc):
$a_header_index = iil_C_FetchHeaders($this->conn, $mailbox, "1:$max");
This means it will fetch the complete imap folder in memory!
When I changed the line in:
$start = $max - 40;
$a_header_index = iil_C_FetchHeaders($this->conn, $mailbox,
"$start:$max");
This wil only fetch the last 40 messages. Now, all the performance
problems are solved! Just in a few seconds I can login, and open
messages very quickly!
But I guess this will break a lot of functionality, like sorting and
pagination..? (I don't know the code that well...)
Could this somehow get implemented, so RoundCube works also great with
larger mailboxes?
(For the record: I'm using Courier-imap as well on the local machine,
but I do have good performance with squirrelmail AND server-side sorting)
Pieter.