{
  "fixture_scale": {
    "study": "flowcyt_solvers",
    "n_bins": 8,
    "methods": [
      {
        "key": "d_exchange",
        "label": "Exact D exchange",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "DExchangeConfig",
        "train_retention": 0.9962980772612126,
        "held_out_retention": 0.9787582785306319,
        "scans": 5,
        "accepted_moves": 4,
        "exchange_stable": true,
        "lloyd_iterations": 0,
        "iterations": null,
        "hardening_gap": 0.0,
        "seconds": 0.08032204199116677,
        "seconds_ratio": 1.0943324506039838
      },
      {
        "key": "mahalanobis_lloyd",
        "label": "Guarded Mahalanobis-Lloyd",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "MahalanobisLloydConfig",
        "train_retention": 0.9962980772612126,
        "held_out_retention": 0.9787582785306319,
        "scans": 5,
        "accepted_moves": 4,
        "exchange_stable": true,
        "lloyd_iterations": 1,
        "iterations": null,
        "hardening_gap": 0.0,
        "seconds": 0.08169270807411522,
        "seconds_ratio": 1.1130068310894512
      },
      {
        "key": "whitened_kmeans",
        "label": "Whitened k-means",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "KMeansConfig",
        "train_retention": 0.9962955825457837,
        "held_out_retention": 0.9787570031672266,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": 13,
        "hardening_gap": null,
        "seconds": 0.07339820906054229,
        "seconds_ratio": 1.0
      },
      {
        "key": "soft_voronoi",
        "label": "Soft gradient descent",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "SoftVoronoiConfig",
        "train_retention": 0.99616966086577,
        "held_out_retention": 0.9764936776969392,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": 50,
        "hardening_gap": -2.1542037942356984e-06,
        "seconds": 0.1718442499404773,
        "seconds_ratio": 2.3412594413404846
      },
      {
        "key": "scalar_dp",
        "label": "Scalar DP on the 1D projection",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "ScalarDPConfig",
        "train_retention": 0.01128747731093309,
        "held_out_retention": 0.08813587341414697,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": null,
        "hardening_gap": null,
        "seconds": 0.48238954204134643,
        "seconds_ratio": 6.5722249659177505
      },
      {
        "key": "rectangular_observation_bins",
        "label": "Rectangular observation bins (2D marker PCA)",
        "task": "baseline",
        "family": "baseline",
        "solver": "n/a",
        "train_retention": 0.1514185443501986,
        "held_out_retention": 0.13882760918532178,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": null,
        "hardening_gap": null,
        "seconds": 0.0001538749784231186,
        "seconds_ratio": 0.0020964405043751855
      },
      {
        "key": "euclidean_kmeans_scores",
        "label": "Euclidean k-means on raw scores",
        "task": "baseline",
        "family": "baseline",
        "solver": "n/a",
        "train_retention": 0.994106287479448,
        "held_out_retention": 0.9710650899614922,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": null,
        "hardening_gap": null,
        "seconds": 0.04015229200012982,
        "seconds_ratio": 0.547047298756436
      },
      {
        "key": "equal_frequency_1d",
        "label": "Equal-frequency 1D bins",
        "task": "baseline",
        "family": "baseline",
        "solver": "n/a",
        "train_retention": 0.2844440762380171,
        "held_out_retention": 0.00010828269272560576,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": null,
        "hardening_gap": null,
        "seconds": 0.0003863329766318202,
        "seconds_ratio": 0.005263520480631273
      }
    ],
    "fastest_information_aware_seconds": 0.07339820906054229,
    "timing_note": "Wall-clock seconds on one machine: one warm-up call, then the median of timing_repeats runs. Absolute values are hardware-specific; compare ratios.",
    "machine": {
      "platform": "macOS-26.5.2-arm64-arm-64bit-Mach-O",
      "machine": "arm64",
      "python": "3.13.12"
    },
    "run": {
      "quick": true,
      "seed": 2026,
      "n_init": 3,
      "soft_steps": 50,
      "timing_repeats": 1,
      "rows": {
        "total": 34554,
        "reference": 14074,
        "test": 20480,
        "partition": 7038
      },
      "provenance": {
        "data_source": "examples/data/flowcyt_fixture.npz",
        "scale": "frozen CI fixture",
        "rows": 34554,
        "score_model_settings": "quick",
        "resumed_from_cache": false,
        "source_url": "https://cuicloud.unige.ch/index.php/s/55PHBLEynrp5pN8",
        "source_license": "CC-BY-NC-SA-4.0"
      },
      "seconds": {
        "score_model_and_scores": 41.53778695804067,
        "study": 6.240465875016525
      }
    }
  },
  "sample_scale": {
    "study": "flowcyt_solvers",
    "n_bins": 8,
    "methods": [
      {
        "key": "d_exchange",
        "label": "Exact D exchange",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "DExchangeConfig",
        "train_retention": 0.9870496037492189,
        "held_out_retention": 0.9852758215441055,
        "scans": 1,
        "accepted_moves": 0,
        "exchange_stable": true,
        "lloyd_iterations": 0,
        "iterations": null,
        "hardening_gap": 0.0,
        "seconds": 0.34316316701006144,
        "seconds_ratio": 1.005854929749188
      },
      {
        "key": "mahalanobis_lloyd",
        "label": "Guarded Mahalanobis-Lloyd",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "MahalanobisLloydConfig",
        "train_retention": 0.9870496037492189,
        "held_out_retention": 0.9852758215441055,
        "scans": 1,
        "accepted_moves": 0,
        "exchange_stable": true,
        "lloyd_iterations": 1,
        "iterations": null,
        "hardening_gap": 0.0,
        "seconds": 0.3458456250373274,
        "seconds_ratio": 1.013717555724113
      },
      {
        "key": "whitened_kmeans",
        "label": "Whitened k-means",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "KMeansConfig",
        "train_retention": 0.9870496037492189,
        "held_out_retention": 0.9852758215441055,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": 6,
        "hardening_gap": null,
        "seconds": 0.3411656660027802,
        "seconds_ratio": 1.0
      },
      {
        "key": "soft_voronoi",
        "label": "Soft gradient descent",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "SoftVoronoiConfig",
        "train_retention": 0.9869060975496863,
        "held_out_retention": 0.9846216879860943,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": 160,
        "hardening_gap": -4.5804875407062795e-06,
        "seconds": 0.5310708329780027,
        "seconds_ratio": 1.556636220755212
      },
      {
        "key": "scalar_dp",
        "label": "Scalar DP on the 1D projection",
        "task": "fit_quantizer",
        "family": "information_aware",
        "solver": "ScalarDPConfig",
        "train_retention": 4.867385486677227e-06,
        "held_out_retention": 2.1939340458189843e-06,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": null,
        "hardening_gap": null,
        "seconds": 15.86655575002078,
        "seconds_ratio": 46.506894834755975
      },
      {
        "key": "rectangular_observation_bins",
        "label": "Rectangular observation bins (2D marker PCA)",
        "task": "baseline",
        "family": "baseline",
        "solver": "n/a",
        "train_retention": 0.04076011808972092,
        "held_out_retention": 0.02098002520129371,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": null,
        "hardening_gap": null,
        "seconds": 0.0004805420758202672,
        "seconds_ratio": 0.0014085300008364594
      },
      {
        "key": "euclidean_kmeans_scores",
        "label": "Euclidean k-means on raw scores",
        "task": "baseline",
        "family": "baseline",
        "solver": "n/a",
        "train_retention": 0.9841463986197267,
        "held_out_retention": 0.9812390176779386,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": null,
        "hardening_gap": null,
        "seconds": 0.034713542088866234,
        "seconds_ratio": 0.10174981115650526
      },
      {
        "key": "equal_frequency_1d",
        "label": "Equal-frequency 1D bins",
        "task": "baseline",
        "family": "baseline",
        "solver": "n/a",
        "train_retention": 0.015536077948162601,
        "held_out_retention": 5.365973050363561e-10,
        "scans": null,
        "accepted_moves": null,
        "exchange_stable": null,
        "lloyd_iterations": null,
        "iterations": null,
        "hardening_gap": null,
        "seconds": 0.0017084580613300204,
        "seconds_ratio": 0.005007708077272049
      }
    ],
    "fastest_information_aware_seconds": 0.3411656660027802,
    "timing_note": "Wall-clock seconds on one machine: one warm-up call, then the median of timing_repeats runs. Absolute values are hardware-specific; compare ratios.",
    "machine": {
      "platform": "macOS-26.5.2-arm64-arm-64bit-Mach-O",
      "machine": "arm64",
      "python": "3.13.12"
    },
    "run": {
      "quick": false,
      "seed": 2026,
      "n_init": 8,
      "soft_steps": 160,
      "timing_repeats": 3,
      "rows": {
        "total": 600000,
        "reference": 400000,
        "test": 200000,
        "partition": 27607
      },
      "provenance": {
        "data_source": "flowcyt-results/flowcyt_sample_20000.npz",
        "scale": "600,000-cell bounded sample",
        "rows": 600000,
        "score_model_settings": "frozen research settings",
        "resumed_from_cache": true,
        "sample_rows": 600000,
        "sample_sha256": "a08e9bf183fe32b913e155d413eeacfdb65c7f99017a42e69c4b91bdde20d987",
        "source_url": "https://cuicloud.unige.ch/index.php/s/55PHBLEynrp5pN8",
        "source_license": "CC-BY-NC-SA-4.0"
      },
      "seconds": {
        "score_model_and_scores": 138.91052837495226,
        "study": 91.48180137504824
      }
    }
  }
}
