{
  "format": 1,
  "measured": {
    "date": "2026-11-15",
    "machine": "Apple M2 Max, 12 cores, 64 GiB, macOS 26.6.2",
    "commit": "84c638d9de0f2d0fbedb862af3c27a5f55974362",
    "how": "target/release/quickertype <input> -l ts -o <file> (the Scryfall cards with --just-types -t Cards), the runs of each command in turn, after one untimed run (none for quicktype on the 657 MB cards); wall time and peak RSS of each run from wait4, medians of 3 to 15 runs. Time and peak memory are on all cores, the default; on one thread, QUICKTYPE_READ_THREADS=1 reads every sample in one go. quicktype is its CLI on the same input, with the same options. Every command wrote the same output. How each input is made: docs/BENCHMARKS.md, \"Large inputs\".",
    "load_average": "2.5 to 4.8",
    "inputs": [
      {
        "name": "generated (40 MB)",
        "description": "the benchmark's generated records, in an object (read in one go)",
        "bytes": 43688373,
        "runs": 15,
        "seconds": 0.157,
        "cpu_seconds": 0.156,
        "peak_rss_mib": 60.8,
        "one_thread": {
          "seconds": 0.155,
          "cpu_seconds": 0.154,
          "peak_rss_mib": 60.8
        },
        "quicktype": {
          "seconds": 2.64,
          "cpu_seconds": 3.48,
          "peak_rss_mib": 630
        }
      },
      {
        "name": "1M records (267 MB)",
        "description": "an array of 1 million small records: a UUID, a two-value enum, a date and a comment each",
        "bytes": 267295024,
        "runs": 11,
        "seconds": 0.0499,
        "cpu_seconds": 0.434,
        "peak_rss_mib": 21.6,
        "one_thread": {
          "seconds": 0.26,
          "cpu_seconds": 0.258,
          "peak_rss_mib": 6.09
        },
        "quicktype": {
          "seconds": 5.13,
          "cpu_seconds": 6.71,
          "peak_rss_mib": 1468
        }
      },
      {
        "name": "records (2.6 GB)",
        "description": "60 copies of the 40 MB input in one array",
        "bytes": 2621302440,
        "runs": 3,
        "seconds": 7.33,
        "cpu_seconds": 7.34,
        "peak_rss_mib": 64.0,
        "one_thread": {
          "seconds": 7.27,
          "cpu_seconds": 7.26,
          "peak_rss_mib": 63.2
        }
      },
      {
        "name": "text-heavy (2.5 GB)",
        "description": "10.5 million objects with ~210-character strings",
        "bytes": 2528770412,
        "runs": 3,
        "seconds": 0.292,
        "cpu_seconds": 2.67,
        "peak_rss_mib": 20.2,
        "one_thread": {
          "seconds": 1.31,
          "cpu_seconds": 1.31,
          "peak_rss_mib": 6.05
        }
      },
      {
        "name": "Scryfall cards (real data)",
        "description": "Scryfall's card data, 120,095 cards in one array",
        "bytes": 656501037,
        "args": "-l ts --just-types -t Cards",
        "runs": 5,
        "seconds": 0.275,
        "cpu_seconds": 1.71,
        "peak_rss_mib": 49.8,
        "one_thread": {
          "seconds": 1.34,
          "cpu_seconds": 1.34,
          "peak_rss_mib": 20.5
        },
        "quicktype": {
          "seconds": 28.3,
          "cpu_seconds": 36.8,
          "peak_rss_mib": 3262
        }
      },
      {
        "name": "Scryfall cards (real data), every language",
        "description": "Scryfall's card data in every language, 551,910 cards in one array",
        "bytes": 3010396357,
        "args": "-l ts --just-types -t Cards",
        "runs": 3,
        "seconds": 1.25,
        "cpu_seconds": 7.81,
        "peak_rss_mib": 142,
        "one_thread": {
          "seconds": 6.21,
          "cpu_seconds": 6.18,
          "peak_rss_mib": 96.4
        }
      }
    ]
  },
  "reports": [
    {
      "input": "a 3 GB JSON file",
      "size": "3 GB",
      "quicktype": "more than 5 hours",
      "quicktype_seconds_at_least": 18000,
      "quickertype": "about 25 s",
      "quickertype_seconds": 25,
      "source": "Reported by a user, on their own machine; not measured with cargo xtask bench."
    }
  ]
}
