This is very cool, I can see a big use case on this for streaming analytics and anomaly detection. So if I get this right, you get:
- Amortized O(1) work per window update
- O(1) aggregate queries, assuming a fixed cost merge operation
- O(W) memory for W buckets, with sketch size treated as fixed
- No need to recompute the entire window every second