summaryrefslogtreecommitdiff
path: root/src/LivingVillage.Headless/Program.fs
diff options
context:
space:
mode:
authorSomhairle H. Marisol <[email protected]>2026-09-20 19:32:52 +0800
committerSomhairle H. Marisol <[email protected]>2026-09-20 19:32:52 +0800
commit6f904d6f8528bd13941894af3db16d0bc3b0aeb3 (patch)
treeedb64713930b99d9e3e9daf2c7c9dcba411f60b9 /src/LivingVillage.Headless/Program.fs
parent7a7f14a1a036801b6d27953f6edc4e4a2f7b2efb (diff)
downloadliving-village-6f904d6f8528bd13941894af3db16d0bc3b0aeb3.tar.gz
perf: add simulation baseline probe
Diffstat (limited to 'src/LivingVillage.Headless/Program.fs')
-rw-r--r--src/LivingVillage.Headless/Program.fs12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/LivingVillage.Headless/Program.fs b/src/LivingVillage.Headless/Program.fs
index e34ecc0..f5f9c5b 100644
--- a/src/LivingVillage.Headless/Program.fs
+++ b/src/LivingVillage.Headless/Program.fs
@@ -367,8 +367,7 @@ let runBatch (worlds: int) (days: int64) : int =
printfn "M3_ACCEPTANCE=%s" (if allPass then "PASS" else "FAIL")
if allPass then 0 else 1
-[<EntryPoint>]
-let main argv =
+let runExisting (argv: string[]) =
let rec parse
(i: int)
(days: int64 option)
@@ -431,5 +430,12 @@ let main argv =
if stats.NonFinite > 0L || stats.OutOfBounds > 0L || not replayOk then 1 else 0
| Error msg ->
eprintfn $"headless: {msg}"
- eprintfn "usage: dotnet run -c Release --project src/LivingVillage.Headless -- --days N --seed S [--npc N] [--dump-relations] [--dump-rumors] [--replay-rumors] | --m5-smoke | --batch K D"
+ eprintfn "usage: dotnet run -c Release --project src/LivingVillage.Headless -- --days N --seed S [--npc N] [--dump-relations] [--dump-rumors] [--replay-rumors] | --m5-smoke | --batch K D | --performance-baseline"
2
+
+[<EntryPoint>]
+let main argv =
+ if argv.Length = 1 && argv.[0] = "--performance-baseline" then
+ LivingVillage.Headless.PerformanceProbe.runDefault ()
+ else
+ runExisting argv