FixCraft BaseFWX secure toolkit

Testing

Quick Run

./scripts/test_all.sh

The script creates a local venv by default and writes logs to diagnose.log. Media tests require ffmpeg and ffprobe.

Benchmark Fairness & JVM Startup

All benchmarks use warm-up iterations + median measurement to ensure fair comparisons across languages:

  1. Warm-up Phase (excluded from timing):
    • Java: JVM startup + JIT compilation warm-up
    • C++: Binary initialization + branch prediction warm-up
    • Python: Module import + bytecode warm-up
  2. Measurement Phase (included in BENCH_NS):
    • All languages: Median timing of multiple iterations
    • JVM startup time is NOT included (happens during warm-up)
    • JIT compilation time IS included (happens during warm-up, affects first real run in production)
  3. Fair Comparison:
    • Java gets more warm-up iterations than C++/Python specifically for fwxAES to reach JIT steady state
    • Configured via BENCH_WARMUP_JAVA_FWXAES (5-10 iterations depending on test mode)
    • This accounts for Java’s higher JIT overhead compared to interpreted C++/Python startup

Why this is fair: Each language reports the time a real user would experience after initialization is complete. JVM startup is a one-time cost; the measured times represent sustained operation.

For n10 specifically, Python now caches internal transform offsets across runs; first-run timing may be slower than steady-state medians in repeated benchmark loops.

Modes

Examples:

./scripts/test_all.sh --fast
./scripts/test_all.sh --quickest
./scripts/test_all.sh --huge

Environment Overrides

Common knobs used by the test script:

Note: Full-core mode is enforced by default; if you disable it, benchmark results are flagged as invalid.

Check scripts/test_all.sh for the full set of test flags and defaults.