diff --git a/results/cjson/coz/README.md b/results/cjson/coz/README.md new file mode 100644 index 0000000..6a39777 --- /dev/null +++ b/results/cjson/coz/README.md @@ -0,0 +1,23 @@ +# coz on cjson — integration status + +coz is **wired** into the harness (SPEC §12): `targets/cjson/harness.c` +carries a `-DHOTPATH_COZ` throughput progress point, and +`scripts/coz-profile.sh` + `just coz cjson` build the instrumented binary +and run `coz run`. `scripts/coz-summary.py` ranks lines by causal +throughput effect. + +**Runtime limitation in this container:** the distro `coz-profiler` +(apt) aborts inside its own `init_coz` during startup — +`pthread_create` interposition recurses ("init_coz in progress, do not +recurse" → SIGABRT) before `main` runs. This is a known coz/glibc +incompatibility on newer glibc, independent of the harness. It reproduces +on the pristine binary with a bare `coz run`, so it is not our +instrumentation. + +**What we use instead:** callgrind `--cache-sim --branch-sim` +(`results/cjson/hotspots.txt`) is the working profiler and gives an +unambiguous class-selection signal for cjson — glibc float +serialization/parsing (`__printf_fp`, `strtod`) plus cJSON +`parse_value`/`print_value` dominate. The coz path is ready for an +environment with a compatible coz runtime (bench-metal / a pinned coz +build); no code change is needed there. diff --git a/results/ledger.sqlite b/results/ledger.sqlite index 330c371..6b9f3e7 100644 Binary files a/results/ledger.sqlite and b/results/ledger.sqlite differ