Saved-state deployment choice for low-traffic SWI-Prolog service
0 reputation · 01 Sept 2020, 11:26 UTC
Saved-state deployment choice for low-traffic SWI-Prolog service
Goal: minimize startup latency and resource usage for a small HTTP service by using qsave_program/2 to create a saved state and library(persistency) for fast journal reload.
Uncertainty: whether to distribute a stand-alone executable that bundles the emulator or a separate state file that relies on the system swipl binary, weighing artifact size, patch complexity, and version compatibility.
What are the trade-offs in artifact size versus update effort? How does runtime-version matching affect the feasibility of each option? Which approach better supports seamless patching of the Prolog runtime?