Github user aljoscha commented on a diff in the pull request:
https://github.com/apache/flink/pull/5790#discussion_r178754487
--- Diff: docs/dev/stream/operators/process_function.md ---
@@ -269,4 +269,38 @@ override def onTimer(timestamp: Long, ctx:
OnTimerContext, out: Collector[OUT]):
}
{% endhighlight %}
</div>
-</div>
\ No newline at end of file
+</div>
+
+## Optimisations
+
+### Timer Coalescing
+
+Every timer registered at the `TimerService` via
`ctx.timerService().registerEventTimeTimer()` will
+be stored on heap and enqueued for execution. There is, however, a maximum
of one timer per key and
+timestamp at a millisecond resolution and thus, in the worst case, every
key may have a timer for
+each upcoming millisecond. Even if you do not do any processing for
outdated timers in `onTimer`
+(as above), this may put a significant burden on the Flink runtime.
+
+Since there is only one timer per key and timestamp, however, you may
coalesc timers by reducing the
--- End diff --
typo: coalesc -> coalesce
---