Bug 55918

Summary: PIM API performance
Product: SyncEvolution Reporter: Patrick Ohly <patrick.ohly>
Component: PIM ManagerAssignee: SyncEvolution Community <syncevolution-issues>
Status: RESOLVED MOVED QA Contact:
Severity: enhancement    
Priority: high CC: syncevolution-issues
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on: 55921, 55926, 59551, 59571, 60380, 60851, 63471, 64176    
Bug Blocks: 55916    

Description Patrick Ohly 2012-10-12 13:26:10 UTC
Performance and resource consumption of the PIM API implementation is relevant in several ways:
- writing to disk must be minimized (because of flash write cycle limitations)
- response times for queries, in particular caller ID lookups, must be small 
  enough to not be noticable by a human user; the goal is < 30ms for high
  numbers of contacts (10000).

Compared to other embedded devices like phones or tablets, an IVI head unit typically has a faster CPU and more RAM (4GB?!).

The implementation tries to achieve these goals by not building up complex data structures on disk for on-disk searching.  Instead it assembles the unified address book in memory and searches there.

If necessary, additional shortcuts might be implemented:
- pre-start daemon to load contacts into memory during head unit startup
- do on-disk search for caller ID while still assembling the in-memory 
  data structure

Before doing that, performance measurements will be needed.
Comment 1 Patrick Ohly 2012-11-26 15:38:05 UTC
Writing contact data is known to be slow, see bug #55925 and upstream https://bugzilla.gnome.org/show_bug.cgi?id=652659

Probably this doesn't matter, so not measuring actual performance and not tracking the issue separately.
Comment 2 GitLab Migration User 2018-10-13 12:44:12 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/SyncEvolution/syncevolution/issues/123.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.