Ticket #213 (closed Tasks: fixed)

Opened 7 years ago

Last modified 7 years ago

Improve cache loading performance

Reported by: octo Owned by: octo
Priority: normal Milestone: 2.0
Component: LogicMail Version:
Keywords: Cc:
Blocked By: Blocking:

Description

LogicMail currently loads all cached message headers from a folder before attempting to synchronize with the mail server. This process can be sufficiently slow to be annoying, especially with #211 likely leading to a dramatic increase in cached content.

The whole loading process needs to be profiled, bottlenecks found, and the user impact reduced.

Some ideas include:

  • Triggering the server flag sync at the same time as the cache load, since cache file names do indicate message UIDs
  • Speeding up the load in one of the following ways:
    • Finding/fixing deserialization bottlenecks
    • File data compression
    • Folder index files
  • Maintaining a second cache in the persistent store
  • Not loading all message headers until the user starts to scroll

Change History

comment:1 Changed 7 years ago by octo

  • Status changed from new to closed
  • Resolution set to fixed

Implemented through a complete rewrite and optimization of the folder message cache, using the persistent store and Persistable container objects.

Note: See TracTickets for help on using tickets.