AtlatestRepositoryfolio

folio / tree / toolsf0_product_baseline.sgl

1;;; Current Folio product-path timing probe for F0.
2;;;
3;;; This script MUST receive a disposable estate copy. It creates/reconciles the
4;;; current SQLite index and performs one controlled inbox mutation there.
5
6(import (sigil core)
7 (sigil time)
8 (sigil dict)
9 (sigil struct)
10 (folio store)
11 (folio index)
12 (folio query)
13 (folio inbox)
14 (folio task)
15 (folio tools))
17(define args (command-line))
18(when (< (length args) 2)
19 (error "usage: f0_product_baseline.sgl DISPOSABLE_FOLIO_ROOT"))
21(define root (car (reverse args)))
22(define started (current-milliseconds))
23(define store (make-folio-store root))
24(define idx (make-folio-index store))
25(index-reconcile! idx)
26(define startup-ms (- (current-milliseconds) started))
28(define warm-start (current-milliseconds))
29(index-reconcile! idx)
30(define warm-reconcile-ms (- (current-milliseconds) warm-start))
32(define rebuild-start (current-milliseconds))
33(define rebuilt (index-rebuild! idx))
34(define full-rebuild-ms (- (current-milliseconds) rebuild-start))
36(define task-query-start (current-milliseconds))
37(define task-count (length (all-tasks store)))
38(define task-query-ms (- (current-milliseconds) task-query-start))
40(define fts-query-start (current-milliseconds))
41(define search-count (length (search-index idx "Folio" #f #f)))
42(define fts-query-ms (- (current-milliseconds) fts-query-start))
44(define mutation-start (current-milliseconds))
45(define planted (inbox-add! store "F0 disposable mutation control" '((id . "t-f0mutation"))))
46(complete-task-in-store! store (folio-task-id planted) "inbox")
47(define mutation-ms (- (current-milliseconds) mutation-start))
49(println "startup_reconcile_ms=~a" startup-ms)
50(println "warm_reconcile_ms=~a" warm-reconcile-ms)
51(println "full_rebuild_ms=~a" full-rebuild-ms)
52(println "indexed_notes=~a" rebuilt)
53(println "task_query_ms=~a" task-query-ms)
54(println "task_count=~a" task-count)
55(println "fts_query_ms=~a" fts-query-ms)
56(println "fts_result_count=~a" search-count)
57(println "controlled_mutation_ms=~a" mutation-ms)