PIM API performance
@pohly
Submitted by Patrick Ohly Assigned to SyncEvolution Community
Description
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.