{
  "format": "kotoba.public-compile-comparison/v2",
  "generatedAt": "2026-08-29T11:21:16.308Z",
  "scope": "process-cold wall time for a tiny source-level result of 42; Kotoba, Rust, and C emit WebAssembly while javac emits a JVM class",
  "interpretation": "Narrow toolchain-startup observation only; targets, ABIs, runtime contracts, and compiler work differ, so this is not a general language build-speed or artifact-size ranking",
  "method": {
    "runs": 21,
    "warmupsPerTool": 3,
    "ordering": "four-tool rotating order",
    "percentile": "nearest-rank",
    "validationOutsideTimedRegion": true
  },
  "speedQualification": {
    "verdict": "unqualified-host-load",
    "buildSpeedRankingQualified": false,
    "quietLoad1Limit": 1,
    "observedLoad1First": 30.79,
    "observedLoad1Last": 39.79,
    "explanation": "The artifacts and samples are valid observations, but the host-load gate failed; do not use this run to rank the toolchains."
  },
  "environment": {
    "os": "Darwin 25.3.0 Darwin Kernel Version 25.3.0: Wed Jan 28 20:54:55 PST 2026; root:xnu-12377.91.3~2/RELEASE_ARM64_T8132",
    "architecture": "arm64",
    "chip": "Apple M4",
    "memoryBytes": 34359738368,
    "node": "v26.7.0",
    "kotoba": "kotoba 0.7.3",
    "rustc": "rustc 1.97.1 (8bab26f4f 2026-07-14)",
    "clang": "Homebrew clang version 22.1.7",
    "clangExecutable": "/opt/homebrew/opt/llvm/bin/clang",
    "javac": "javac 24.0.2",
    "java": "openjdk version \"24.0.2\" 2025-07-15",
    "rustTarget": "wasm32-unknown-unknown",
    "cTarget": "wasm32",
    "jvmTarget": "class file for the installed JDK",
    "repositoryCommit": "ca78255d84d92e07592b81ff71d32b8dc0759eff",
    "repositoryDirty": false
  },
  "workload": {
    "result": 42,
    "validation": "each Wasm module has zero imports and exports main returning i64 42; the JVM class has CAFEBABE magic and exits successfully after checking answer() == 42",
    "sources": {
      "kotoba": {
        "path": "bench/public-compile-comparison/main.kotoba",
        "sha256": "491d2d1c3340a595503f04d33acdef74850116f33bcc9dd087ad9981e0632a7e"
      },
      "rust": {
        "path": "scripts/benchmark-public-compile.mjs#rustSourceText",
        "sha256": "87665d84ac6db3387516ceb069298343d016c9ca36b9616eac3653618b17a8d4"
      },
      "c": {
        "path": "scripts/benchmark-public-compile.mjs#cSourceText",
        "sha256": "5f9626115f97d8ccf08e1b07e28e51f234a3a5197de3b30e233059cfd25dc879"
      },
      "jvm": {
        "path": "scripts/benchmark-public-compile.mjs#javaSourceText",
        "sha256": "821095e9d47de68c8abe9996c68f39b2e9e767ac744d3220f6f023664f102b96"
      }
    },
    "commands": {
      "kotoba": "kotoba compile main.kotoba --target wasm --output main.wasm --json",
      "rust": "rustc --edition=2024 --crate-type=cdylib --target=wasm32-unknown-unknown -C opt-level=0 -C debuginfo=0 -C panic=abort -o main.wasm main.rs",
      "c": "clang --target=wasm32 -O0 -nostdlib -Wl,--no-entry -Wl,--export=main -Wl,--strip-all -o main.wasm main.c",
      "jvm": "javac -g:none -d <temp-directory> Main.java"
    }
  },
  "results": {
    "kotoba": {
      "medianMilliseconds": 40.998,
      "p95Milliseconds": 240.415,
      "minimumMilliseconds": 30.845,
      "maximumMilliseconds": 258.541,
      "samplesMilliseconds": [
        40.106,
        40.998,
        258.541,
        240.415,
        43.808,
        33.728,
        207.592,
        39.045,
        46.214,
        221.618,
        41.931,
        32.113,
        31.672,
        40.124,
        43.733,
        46.106,
        30.845,
        68.89,
        36.102,
        35.348,
        35.547
      ],
      "artifactKind": "WebAssembly module",
      "artifactBytes": 295,
      "artifactSha256": "bba2b6ae30546154527c64d1af66593f1d096917c57b400371303fe98d1a3870",
      "medianRatioToKotoba": 1
    },
    "rust": {
      "medianMilliseconds": 126.422,
      "p95Milliseconds": 770.495,
      "minimumMilliseconds": 88.38,
      "maximumMilliseconds": 840.02,
      "samplesMilliseconds": [
        148.31,
        125.188,
        840.02,
        770.495,
        124.672,
        156.92,
        682.09,
        88.38,
        126.422,
        682.199,
        100.557,
        101.911,
        121.091,
        148.488,
        92.507,
        132.353,
        135.323,
        116.733,
        99.683,
        127.268,
        104.502
      ],
      "artifactKind": "WebAssembly module",
      "artifactBytes": 605195,
      "artifactSha256": "88b586c17ed930df42cd76e4a19023dc98cc9205adef1e6f7a104ef70192be5c",
      "medianRatioToKotoba": 3.084
    },
    "c": {
      "medianMilliseconds": 146.324,
      "p95Milliseconds": 498.618,
      "minimumMilliseconds": 125.224,
      "maximumMilliseconds": 656.673,
      "samplesMilliseconds": [
        175.867,
        146.324,
        140.028,
        498.618,
        145.685,
        132.802,
        163.708,
        656.673,
        141.712,
        462.747,
        153.822,
        128.995,
        125.224,
        138.87,
        134.199,
        164.785,
        175.342,
        222.962,
        155.822,
        126.876,
        135.681
      ],
      "artifactKind": "WebAssembly module",
      "artifactBytes": 62,
      "artifactSha256": "f4d741c03c91fae968ef2fed7521f9fd718d162631111e899b7a66256bb2e698",
      "medianRatioToKotoba": 3.569
    },
    "jvm": {
      "medianMilliseconds": 961.248,
      "p95Milliseconds": 2223.49,
      "minimumMilliseconds": 753.074,
      "maximumMilliseconds": 3075.535,
      "samplesMilliseconds": [
        1213.511,
        762.836,
        2223.49,
        1695.373,
        1111.223,
        1648.97,
        3075.535,
        1801.022,
        2169.836,
        774.743,
        1334.935,
        812.17,
        846.804,
        804.646,
        772.039,
        921.931,
        1257.438,
        961.248,
        918.444,
        753.074,
        884.056
      ],
      "artifactKind": "JVM class",
      "artifactBytes": 369,
      "artifactSha256": "ccd81c40ce81524febc212a51755e744f82f5823043f104a32c8ce7279321ae4",
      "medianRatioToKotoba": 23.446
    }
  }
}
