r1 - 01 May 2007 - 06:18:18 - RandyLetnessYou are here: OSAF >  Journal Web  >  ContributorNotes > RandyLetnessNotes > CosmoZeroPointSixOnePerformanceNotes

Cosmo 0.6.1 Performance Notes

Due to all the backend changes in 0.6.1 to support morse code sharing for Chandler's domain model, one of the tasks for 0.7 is to identify possible performance bottlenecks.

Recurring events with event modifications

One of the biggest changes is how cosmo models event modifications. Instead of storing each VEVENT modification in the master event's EventStamp?, each modification is modeled as a separate item, which is how Chandler models modifications. This means to get all event data for a recurring event with modifications, cosmo must load the master item and query for all modification items and stamps and assemble the entire recurring event. This is different from just reading the entire event from the event stamp, which is what cosmo 0.6 did.

Advanatages Using morse code, you can synchronize updates to recurring event modifications without having to spool the entire event. Its possible to have modifications on non-events, although there currently isn't a use-case for it.

Disadvantages CalDAV get and cosmo ui event retrieval for recurring events gets slower because of the extra queries involved in loading any event modification items and associated stamps. Event indexing still requires the entire event to be re-indexed, meaning an update to a single modification requires the entire event definition to be re-loaded. Deletion of master item requires deletion of any modification items. Adding an item to a collection requires all modifications to also be added.

-- RandyLetness - 01 May 2007

Edit | WYSIWYG | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r1 | More topic actions
Open Source Applications Foundation
Except where otherwise noted, this site and its content are licensed by OSAF under an Creative Commons License, Attribution Only 3.0.
See list of page contributors for attributions.