Timing sensitive environments include e.g. games. In these environments long blocking times are problematic. Stop-and-go garbage collection is also a potential issue.
This document describes suggested feature options for reducing Duktape latency in timing sensitive environments.
The following genconfig option file template enables most timing
sensitivity related options: config/examples/timing_sensitive.yaml
.
- Use the default memory management settings (reference counting and
mark-and-sweep) but disable
DUK_USE_VOLUNTARY_GC
to eliminate mark-and-sweep pauses. Use explicit GC calls (eitherduk_gc()
from C orDuktape.gc()
from ECMAScript) when possible to collect circular references.