[sylpheed:34678] Re: Sylpheed extremely slow while scanning folder

Ingo Strauch brack at the-one-brack.org
Tue Jul 26 18:50:33 JST 2011

Hi all!

On Sat, 21 May 2011 16:42:22 +0200
Ingo Strauch <brack at the-one-brack.org> wrote:

> I often use sylpheed over an ssh connection plus X forwarding.
> Since a couple of days this got extremely slow. For example when I
> switch to another folder in the folder tree, sylpheed starts scanning
> the folder and I can see each number counted.
> Example: http://i.imgur.com/FXFRi.jpg
> When I took that screenshot it was at 41. And then came 42, 43, 44 ...
> all the way up to 5875.
> I can't say for sure but IIRC it happened after updating to sylpheed
> 3.1.1

I found some time to look deeper into the matter.

Here is the code that seems to be causing it (summaryview.c line 656):
static void get_msg_list_func(Folder *folder, FolderItem *item,
gpointer data) {
        SummaryView *summary = (SummaryView *)folder->data;
        gint count = GPOINTER_TO_INT(data);
        static GTimeVal tv_prev = {0, 0};
        GTimeVal tv_cur;


        if (tv_prev.tv_sec == 0 ||
            (tv_cur.tv_sec - tv_prev.tv_sec) * G_USEC_PER_SEC +
            tv_cur.tv_usec - tv_prev.tv_usec > 100 * 1000) {
                gchar buf[256];

                g_snprintf(buf, sizeof(buf), _("Scanning folder (%s) (%
d)..."), item->path, count);
                STATUSBAR_PUSH(summary->mainwin, buf);
                tv_prev = tv_cur;

The output "Scanning folder..." is done at least every 0.1s as far as I
understand that code (100 * 1000 - in microseconds).

I compiled sylpheed again after changing that to "500 * 1000". Now it's
so fast, I can barely see the status message when using sylpheed over an
ssh connection.

Trying "200 * 1000" yields a somewhat unexpected behaviour: folders
with lets say around 500 messages are displayed fast enough so that I
don't see the scanning process counting upwards.
Folders with more than 500 messages are slow, but I can see the
scanning processing starting at 1 and counting up each individual
number. I had expected it to count maybe like 1, 501, 1001, etc.

So my fix works "all or nothing" which makes this status message rather
useless. I can live with that and patch each new version of sylpheed
for myself.
But maybe someone has an idea how to better improve on that behaviour?


"What're quantum mechanics?"
"I don't know. People who repair quantums I suppose."
                                     --Rincewind, Terry Pratchett "Eric"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
Url : http://www.sraoss.jp/pipermail/sylpheed/attachments/20110726/97dc49fd/attachment.bin 

More information about the Sylpheed mailing list