http://bugzilla.moblin.org/show_bug.cgi?id=5021
--- Comment #8 from pohly <patrick.ohly(a)intel.com> 2009-08-11 00:23:18 ---
(In reply to comment #6)
I can reproduce this.
(In reply to comment #5)
> (In reply to comment #4)
> > Why does the sync UI need to read the entire addressbook before doing
anything?
>
> It shouldn't. I'm not even sure it does: I have done a quick grep of the
> source, without finding what I was suspecting as the culprit. I was hoping that
> Jussi (on vacation right now) would know more, so I haven't investigated
> further.
Ah, but I do muck with sources... I'm guessing this is the problem: the client
asks dbus server for service configuration, and the server does this to ensure
the source is supported locally:
I was expecting something like this, but it shouldn't be slow. What I was
looking for was a call to checkStatus(), because that really has to read all
items (to get the REV string of them - we need a better API...).
/* check whether we have support locally */
EvolutionSyncSourceParams params(name, config->getSyncSourceNodes(name),
"");
auto_ptr<EvolutionSyncSource>
syncSource(EvolutionSyncSource::createSource(params, false));
try {
local = FALSE;
if (syncSource.get()) {
syncSource->open();
local = TRUE;
}
}
The open() call translates into:
* e_book_get_addressbooks()
* e_book_new_system_addressbook()
* e_book_open()
Patrick, is this going to be slow with thousands of items? (I'll
test tomorrow,
but I'm guessing you'll know without testing).
Sorry, I don't know whether e_book_open() really is slow with many items.
--
Configure bugmail:
http://bugzilla.moblin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching someone on the CC list of the bug.