summaryrefslogtreecommitdiff
path: root/ocaml/test/cache_solid.ml
diff options
context:
space:
mode:
authorpolwex <polwex@sortug.com>2025-10-06 23:18:59 +0700
committerpolwex <polwex@sortug.com>2025-10-06 23:18:59 +0700
commit5de3f7a3ad7b0cf63b4a6cbddfc1e26359dea161 (patch)
treeb55b2258123149bed40bd89bbaa58e7da54f3a26 /ocaml/test/cache_solid.ml
parentfdab65f6dac4ba85ed4749f61970660d1132d453 (diff)
cleaned up tests
Diffstat (limited to 'ocaml/test/cache_solid.ml')
-rw-r--r--ocaml/test/cache_solid.ml78
1 files changed, 0 insertions, 78 deletions
diff --git a/ocaml/test/cache_solid.ml b/ocaml/test/cache_solid.ml
deleted file mode 100644
index 7ad7df0..0000000
--- a/ocaml/test/cache_solid.ml
+++ /dev/null
@@ -1,78 +0,0 @@
-(* Cache Solid Pill - Cue once and save marshalled OCaml noun
- *
- * This cues the solid pill once (slow) and saves the resulting
- * noun using OCaml's Marshal for fast loading later
- *)
-
-open Nock_lib
-
-let cache_solid env =
- Printf.printf "Caching solid pill...\n\n";
-
- Eio.Switch.run @@ fun _sw ->
- let fs = Eio.Stdenv.fs env in
-
- (* Load and cue solid pill *)
- Printf.printf "Step 1: Loading solid.pill (8.7 MB)...\n";
- let file_path = Eio.Path.(fs / "solid.pill") in
- let pill_bytes = Eio.Path.load file_path |> Bytes.of_string in
- Printf.printf " Loaded %d bytes\n\n" (Bytes.length pill_bytes);
-
- Printf.printf "Step 2: Cuing (this will take several minutes)...\n";
- let start = Unix.gettimeofday () in
- let last_tick = ref start in
- let last_nouns = ref 0 in
- let last_depth = ref 0 in
- let last_peak = ref 0 in
- let bytes_seen = ref 0 in
-
- let total_bytes = Bytes.length pill_bytes in
-
- let progress ~nouns ~bits ~depth ~max_depth =
- last_nouns := nouns;
- last_depth := depth;
- last_peak := max_depth;
- bytes_seen := bits / 8;
-
- let now = Unix.gettimeofday () in
- if now -. !last_tick >= 1.0 then begin
- let mb = float_of_int !bytes_seen /. (1024. *. 1024.) in
- let pct = (float_of_int !bytes_seen /. float_of_int total_bytes) *. 100. in
- Printf.printf " %.1fs | %.2f MiB (%.1f%%) | nouns=%d depth=%d/%d\n%!"
- (now -. start) mb pct !last_nouns !last_depth !last_peak;
- last_tick := now
- end
- in
-
- let pill =
- Serial.cue
- ~progress
- ~progress_interval:50_000
- pill_bytes
- in
-
- let elapsed = Unix.gettimeofday () -. start in
- Printf.printf
- " ✓ Cued in %.1fs (%.2f MiB, nouns=%d, max depth=%d)\n\n"
- elapsed
- (float_of_int total_bytes /. (1024. *. 1024.))
- !last_nouns
- !last_peak;
-
- Printf.printf "Step 3: Marshalling noun to solid.noun...\n";
- let out_channel = open_out_bin "solid.noun" in
- Marshal.to_channel out_channel pill [];
- close_out out_channel;
- Printf.printf " ✓ Saved to solid.noun\n\n";
-
- Printf.printf "Step 4: Testing reload speed...\n";
- let start = Unix.gettimeofday () in
- let in_channel = open_in_bin "solid.noun" in
- let _reloaded = (Marshal.from_channel in_channel : Noun.noun) in
- close_in in_channel;
- let elapsed = Unix.gettimeofday () -. start in
- Printf.printf " ✓ Reloaded in %.4fs (much faster!)\n\n" elapsed;
-
- Printf.printf "Done! Use solid.noun for fast testing.\n"
-
-let () = Eio_main.run cache_solid