The attached chart shows the calculation time distribution for a sample of 1,300 segments in Vero – minutes (y axis) vs. place in distribution (x axis).
There are a small portion of segments that are very slow to calculate. As we can see from the curve, segments are either fast or
really
slow.
Slicing this data, approximately 9.9% of segments account for just under 50% of the total calculation time across the entire sample.
Here are some of the optimisations we're working on to create a flatter distribution:
• Optimising segments that reference many of the same conditions (e.g. if a segment has 50 "user has property X" conditions).
• Optimising segments referencing event properties.
• Optimising overlapping calculations (e.g. five segments reference the same child segment and are refreshed in tandem).
We will post updates here as we work through these optimisations.