After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 625069 - Slow message fetching
Slow message fetching
Status: RESOLVED FIXED
Product: evolution-mapi
Classification: Applications
Component: Mail
0.31.x
Other Linux
: Normal normal
: ---
Assigned To: evolution-mapi-maint
evolution-mapi-maint
: 643720 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-07-22 21:33 UTC by Milan Crha
Modified: 2011-03-07 13:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ema patch (23.62 KB, patch)
2010-07-23 13:33 UTC, Milan Crha
committed Details | Review

Description Milan Crha 2010-07-22 21:33:16 UTC
Let's profile why is message fetching so slow. I mean message itself, the one where exchange_mapi_connection_fetch_item is used. The initial study shows that attachment fetching (with streams) is quite slow, and that attachments are (tried) queried even when there is no indication on the message itself that it contains any attachments. I'll dig into this more, as it's quite bad to see a simple plain text message with body "eee" fetching for almost 4 seconds.

If interested:
 0 s 304 ms 723 us (open folder took)
 0 s 299 ms 417 us (openmessage took)
 0 s   0 ms 016 us (build props took)
   get_attachments  0 s 291 ms 487 us (GetAttachmentTable)
   get_attachments  0 s 279 ms 990 us (SetColumns)
   get_attachments  0 s 255 ms 920 us (QueryPosition)
   get_attachments  0 s 256 ms 844 us (Query rows)
 1 s 334 ms 286 us (get attachments took)
 0 s   0 ms 012 us (get recipients took)
 0 s 490 ms 139 us (read body streams took)
 0 s 529 ms 069 us (getprops took)
 0 s   0 ms 009 us (read generic streams)
 0 s 508 ms 026 us (release took)
 0 s   0 ms 026 us (decode took)
 3 s 466 ms 110 us (before release)
 3 s 466 ms 119 us (after release - total)
Comment 1 Milan Crha 2010-07-23 13:33:44 UTC
Created attachment 166442 [details] [review]
ema patch

for evolution-mapi;

Couple things, like refetching streams multiple times makes it horribly slow. I also changed the body stream fetching function, it was unnecessary complicated.
Comment 2 Milan Crha 2010-07-23 13:34:54 UTC
Created commit d520e93 in ema master (0.31.6+)
Comment 3 Akhil Laddha 2010-08-23 10:51:49 UTC
see bug 586199 comment#1 and comment#2
Comment 4 Milan Crha 2011-03-04 07:51:11 UTC
*** Bug 643720 has been marked as a duplicate of this bug. ***
Comment 5 Sayantan 2011-03-04 17:49:37 UTC
Hi, 

Just wanted to know, if this bug,, marked as fixed, has been released with which version of evolution-mapi?

I have been using evolution-mapi v 0.32.1 and the fetching/downloading of messages is still painfully slow.
Comment 6 Milan Crha 2011-03-07 13:57:03 UTC
See comment #2, it's included since 0.31.6. The thing is that the fetching can still be slow, but with a compare of 0.31.5 and before it's significantly quicker, due to not refetching values which are already downloaded. There are still some more options to improve it a bit, like using libmapi's fast transfer, but it will wait till evolution-mapi will depend on the latest openchange, which may happen for 3.2, if everything will go smooth.