Optimize recurring rule expansion algorithm to allow for partial expansions

RESOLVED WONTFIX

Status

P5
normal
RESOLVED WONTFIX
6 years ago
10 months ago

People

(Reporter: jlal, Unassigned)

Tracking

({perf})

Firefox Tracking Flags

(Not tracked)

Details

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

(Reporter)

Description

6 years ago
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=

Updated

6 years ago
Whiteboard: [LOE:M][FFOS_perf] c= → [LOE:M] [c= ]
(Reporter)

Updated

6 years ago
Flags: needinfo?(jlal)

Updated

5 years ago
Priority: -- → P5
Whiteboard: [LOE:M] [c= ] → [LOE:M] [c= p= s= u=]

Comment 2

10 months ago
Firefox OS is not being worked on
Status: NEW → RESOLVED
Last Resolved: 10 months ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.