Closed Bug 817796 Opened 12 years ago Closed 7 years ago

Optimize recurring rule expansion algorithm to allow for partial expansions

Categories

(Firefox OS Graveyard :: Gaia::Calendar, defect, P5)

defect

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: jlal, Unassigned)

Details

(Keywords: perf, Whiteboard: [LOE:M] [c= p= s= u=])

Currently for all expansions we must start at the beginning of the rule and expand from there (so if you have a very old recurring event we chew a ton of CPU) in some cases we cannot avoid this but the vast majority of rules are simple and can be optimized to only expand for the necessary period. I don't have solid numbers for the time we spend on this but this is very slow on powerful machines (100ms for 500 expansions on my laptop) and I suspect we spend the majority of sync time on this now we have heavily optimized the parser. I am marking this as LOE:M we can do this incrementally making each rule faster but the whole process will take some time. The result will be a very fast sync experience for the end user. We can start with common rules and move from there.
Could you consider that as meta bug then create one issue per part.
Flags: needinfo?(jlal)
blocking-basecamp: ? → ---
Whiteboard: [LOE:M] → [LOE:M][FFOS_perf]
Whiteboard: [LOE:M][FFOS_perf] → [LOE:M][FFOS_perf] c=
Whiteboard: [LOE:M][FFOS_perf] c= → [LOE:M] [c= ]
Flags: needinfo?(jlal)
Priority: -- → P5
Whiteboard: [LOE:M] [c= ] → [LOE:M] [c= p= s= u=]
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.