docs(logdb): note immediate-mode persist is O(db-size) per message (P2)
ober
52f89179a81bf58b940e5c896f3e67d72727b274
--- a/signal/logdb.ss +++ b/signal/logdb.ss @@ -450,6 +450,12 @@ (def (maybe-string-length v) (if (string? v) (string-length v) 0)) + ;; Persistence policy. Every persist re-serializes the whole SQLite db + ;; (sqlite-db->bytevector) and re-AEAD-seals the ENTIRE container, so a persist + ;; is O(db-size). 'batch (the default) amortizes that cost over a batch of rows; + ;; 'immediate persists on every write and is therefore O(db-size) PER MESSAGE — + ;; it is opt-in only (JERBOA_SIGNAL_LOG_PERSIST) and meant for debugging, not + ;; steady-state use. Incremental sealing would lift this but is not yet done. (def (log-persist-policy) (let ([v (getenv "JERBOA_SIGNAL_LOG_PERSIST")]) (cond