{
  "meta": {
    "project_title": "NumPy versus PyArrow with Lahman Baseball Data",
    "project_slug": "numpy-versus-pyarrow",
    "test_slug": "raw-csv-read-speed-lahman",
    "test_title": "Raw CSV read speed across Lahman tables",
    "generated_at": "2026-06-16T17:37:13.681031+00:00",
    "data_dir": "C:\\code\\projects\\data-reports\\numpy-vs-pyarrow\\data",
    "output_path": "C:\\code\\projects\\data-reports\\numpy-vs-pyarrow\\output\\test1\\data.json",
    "runs_per_reader": 100,
    "warmups_per_reader": 2,
    "environment": {
      "python_version": "3.14.6 (tags/v3.14.6:c63aec6, Jun 10 2026, 10:26:10) [MSC v.1944 64 bit (AMD64)]",
      "python_executable": "C:\\code\\projects\\data-reports\\numpy-vs-pyarrow\\venv\\Scripts\\python.exe",
      "pandas_version": "3.0.3",
      "pyarrow_version": "24.0.0",
      "platform": "Windows-11-10.0.26200-SP0",
      "machine": "AMD64",
      "processor": "Intel64 Family 6 Model 186 Stepping 2, GenuineIntel",
      "system": "Windows",
      "release": "11"
    }
  },
  "summary": {
    "files_tested": 27,
    "files_with_results": 27,
    "total_size_bytes": 42147792,
    "total_size_mb": 42.147792,
    "total_rows": 706466,
    "total_columns_across_files": 372,
    "total_cells": 13518724,
    "largest_file_by_size": {
      "file": "Fielding.csv",
      "size_mb": 8.767478,
      "rows": 174332,
      "columns": 18,
      "pandas_default_avg_ms": 153.9081,
      "pyarrow_avg_ms": 20.5,
      "speedup_default_over_pyarrow": 7.5077,
      "winner": "pyarrow"
    },
    "largest_file_by_rows": {
      "file": "Fielding.csv",
      "size_mb": 8.767478,
      "rows": 174332,
      "columns": 18,
      "pandas_default_avg_ms": 153.9081,
      "pyarrow_avg_ms": 20.5,
      "speedup_default_over_pyarrow": 7.5077,
      "winner": "pyarrow"
    },
    "widest_file": {
      "file": "Teams.csv",
      "size_mb": 0.701384,
      "rows": 3614,
      "columns": 48,
      "pandas_default_avg_ms": 13.0053,
      "pyarrow_avg_ms": 4.3277,
      "speedup_default_over_pyarrow": 3.0051,
      "winner": "pyarrow"
    },
    "pyarrow_faster_count": 20,
    "pandas_default_faster_count": 7,
    "tie_count": 0,
    "no_result_count": 0,
    "median_speedup_default_over_pyarrow": 3.0032,
    "average_speedup_default_over_pyarrow": 3.4407,
    "total_pandas_default_avg_ms": 842.2427,
    "total_pyarrow_avg_ms": 153.1217,
    "overall_speedup_default_over_pyarrow": 5.5005,
    "largest_pyarrow_win": {
      "file": "People.csv",
      "size_mb": 3.223128,
      "rows": 24270,
      "columns": 25,
      "pandas_default_avg_ms": 69.9977,
      "pyarrow_avg_ms": 8.2688,
      "speedup_default_over_pyarrow": 8.4653,
      "winner": "pyarrow"
    },
    "largest_pandas_default_win": {
      "file": "ManagersHalf.csv",
      "size_mb": 0.003568,
      "rows": 93,
      "columns": 10,
      "pandas_default_avg_ms": 1.0375,
      "pyarrow_avg_ms": 2.022,
      "speedup_default_over_pyarrow": 0.5131,
      "winner": "pandas_default"
    }
  },
  "methodology_notes": [
    "Each CSV file was read with pandas.read_csv(path).",
    "Each CSV file was also read with pandas.read_csv(path, engine=\"pyarrow\").",
    "The benchmark records read time only; it does not include downstream joins, calculations, or chart generation.",
    "Operating-system file caching can affect repeated read benchmarks.",
    "The pandas default reader is labeled pandas_default rather than pure NumPy because pandas parsing is the actual operation being timed."
  ],
  "files": [
    {
      "file": "AllstarFull.csv",
      "size_bytes": 255977,
      "size_mb": 0.255977,
      "rows": 6425,
      "columns": 8,
      "column_count": 8,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 6.6879,
        "median_ms": 6.6346,
        "min_ms": 6.2833,
        "max_ms": 7.3574,
        "stdev_ms": 0.245
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.5639,
        "median_ms": 2.5188,
        "min_ms": 2.2341,
        "max_ms": 3.8813,
        "stdev_ms": 0.2206
      },
      "speedup_default_over_pyarrow": 2.6085,
      "winner": "pyarrow"
    },
    {
      "file": "Appearances.csv",
      "size_bytes": 7833413,
      "size_mb": 7.833413,
      "rows": 128512,
      "columns": 21,
      "column_count": 21,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 169.3614,
        "median_ms": 142.9781,
        "min_ms": 130.5391,
        "max_ms": 483.976,
        "stdev_ms": 57.2118
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 20.1427,
        "median_ms": 19.8103,
        "min_ms": 16.3903,
        "max_ms": 32.922,
        "stdev_ms": 2.1971
      },
      "speedup_default_over_pyarrow": 8.4081,
      "winner": "pyarrow"
    },
    {
      "file": "AwardsManagers.csv",
      "size_bytes": 10986,
      "size_mb": 0.010986,
      "rows": 232,
      "columns": 6,
      "column_count": 6,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.8335,
        "median_ms": 1.784,
        "min_ms": 1.1528,
        "max_ms": 3.8764,
        "stdev_ms": 0.474
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 3.1165,
        "median_ms": 3.0305,
        "min_ms": 2.0521,
        "max_ms": 6.073,
        "stdev_ms": 0.6626
      },
      "speedup_default_over_pyarrow": 0.5883,
      "winner": "pandas_default"
    },
    {
      "file": "AwardsPlayers.csv",
      "size_bytes": 590678,
      "size_mb": 0.590678,
      "rows": 12667,
      "columns": 6,
      "column_count": 6,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 14.8096,
        "median_ms": 13.8912,
        "min_ms": 12.2579,
        "max_ms": 28.4252,
        "stdev_ms": 2.6791
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 4.3027,
        "median_ms": 4.3312,
        "min_ms": 3.0511,
        "max_ms": 5.5621,
        "stdev_ms": 0.4553
      },
      "speedup_default_over_pyarrow": 3.4419,
      "winner": "pyarrow"
    },
    {
      "file": "AwardsShareManagers.csv",
      "size_bytes": 29062,
      "size_mb": 0.029062,
      "rows": 539,
      "columns": 7,
      "column_count": 7,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.0702,
        "median_ms": 1.9461,
        "min_ms": 1.3424,
        "max_ms": 3.5982,
        "stdev_ms": 0.4882
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.8933,
        "median_ms": 2.8813,
        "min_ms": 1.9789,
        "max_ms": 4.1527,
        "stdev_ms": 0.4235
      },
      "speedup_default_over_pyarrow": 0.7155,
      "winner": "pandas_default"
    },
    {
      "file": "AwardsSharePlayers.csv",
      "size_bytes": 361165,
      "size_mb": 0.361165,
      "rows": 7613,
      "columns": 7,
      "column_count": 7,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 8.5613,
        "median_ms": 7.195,
        "min_ms": 6.3805,
        "max_ms": 19.0179,
        "stdev_ms": 2.9962
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.8507,
        "median_ms": 2.8499,
        "min_ms": 2.4579,
        "max_ms": 3.6368,
        "stdev_ms": 0.2315
      },
      "speedup_default_over_pyarrow": 3.0032,
      "winner": "pyarrow"
    },
    {
      "file": "Batting.csv",
      "size_bytes": 7999073,
      "size_mb": 7.999073,
      "rows": 128598,
      "columns": 22,
      "column_count": 22,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 146.7359,
        "median_ms": 142.2553,
        "min_ms": 135.1172,
        "max_ms": 205.2244,
        "stdev_ms": 12.1893
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 22.2018,
        "median_ms": 22.0769,
        "min_ms": 18.9362,
        "max_ms": 25.7383,
        "stdev_ms": 1.2511
      },
      "speedup_default_over_pyarrow": 6.6092,
      "winner": "pyarrow"
    },
    {
      "file": "BattingPost.csv",
      "size_bytes": 1155184,
      "size_mb": 1.155184,
      "rows": 18687,
      "columns": 22,
      "column_count": 22,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 28.7525,
        "median_ms": 24.7356,
        "min_ms": 22.3711,
        "max_ms": 48.0821,
        "stdev_ms": 6.4032
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 5.1037,
        "median_ms": 5.0743,
        "min_ms": 4.7253,
        "max_ms": 5.5126,
        "stdev_ms": 0.1619
      },
      "speedup_default_over_pyarrow": 5.6337,
      "winner": "pyarrow"
    },
    {
      "file": "CollegePlaying.csv",
      "size_bytes": 429375,
      "size_mb": 0.429375,
      "rows": 17687,
      "columns": 3,
      "column_count": 3,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 8.478,
        "median_ms": 8.1732,
        "min_ms": 7.6902,
        "max_ms": 14.6991,
        "stdev_ms": 0.9195
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.6666,
        "median_ms": 2.6124,
        "min_ms": 2.3582,
        "max_ms": 4.0061,
        "stdev_ms": 0.2508
      },
      "speedup_default_over_pyarrow": 3.1793,
      "winner": "pyarrow"
    },
    {
      "file": "Fielding.csv",
      "size_bytes": 8767478,
      "size_mb": 8.767478,
      "rows": 174332,
      "columns": 18,
      "column_count": 18,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 153.9081,
        "median_ms": 152.5401,
        "min_ms": 144.2111,
        "max_ms": 170.0556,
        "stdev_ms": 5.8101
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 20.5,
        "median_ms": 19.207,
        "min_ms": 16.1863,
        "max_ms": 35.7065,
        "stdev_ms": 4.3084
      },
      "speedup_default_over_pyarrow": 7.5077,
      "winner": "pyarrow"
    },
    {
      "file": "FieldingOF.csv",
      "size_bytes": 298472,
      "size_mb": 0.298472,
      "rows": 12028,
      "columns": 6,
      "column_count": 6,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 7.0466,
        "median_ms": 7.0103,
        "min_ms": 6.6048,
        "max_ms": 8.372,
        "stdev_ms": 0.3048
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.6181,
        "median_ms": 2.5795,
        "min_ms": 2.3724,
        "max_ms": 3.3246,
        "stdev_ms": 0.1633
      },
      "speedup_default_over_pyarrow": 2.6915,
      "winner": "pyarrow"
    },
    {
      "file": "FieldingOFsplit.csv",
      "size_bytes": 2270383,
      "size_mb": 2.270383,
      "rows": 45147,
      "columns": 18,
      "column_count": 18,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 48.1351,
        "median_ms": 46.8266,
        "min_ms": 40.418,
        "max_ms": 73.2686,
        "stdev_ms": 5.4742
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 6.8594,
        "median_ms": 6.5676,
        "min_ms": 5.9595,
        "max_ms": 9.3686,
        "stdev_ms": 0.7822
      },
      "speedup_default_over_pyarrow": 7.0174,
      "winner": "pyarrow"
    },
    {
      "file": "FieldingPost.csv",
      "size_bytes": 905643,
      "size_mb": 0.905643,
      "rows": 17934,
      "columns": 17,
      "column_count": 17,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 23.1803,
        "median_ms": 23.0825,
        "min_ms": 18.4664,
        "max_ms": 40.7668,
        "stdev_ms": 3.7514
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 5.4958,
        "median_ms": 5.5046,
        "min_ms": 4.2937,
        "max_ms": 7.4085,
        "stdev_ms": 0.821
      },
      "speedup_default_over_pyarrow": 4.2178,
      "winner": "pyarrow"
    },
    {
      "file": "HallOfFame.csv",
      "size_bytes": 314822,
      "size_mb": 0.314822,
      "rows": 6426,
      "columns": 9,
      "column_count": 9,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 9.3481,
        "median_ms": 9.2303,
        "min_ms": 6.8384,
        "max_ms": 14.9774,
        "stdev_ms": 1.5813
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 3.7826,
        "median_ms": 3.8804,
        "min_ms": 2.6618,
        "max_ms": 5.0595,
        "stdev_ms": 0.5841
      },
      "speedup_default_over_pyarrow": 2.4713,
      "winner": "pyarrow"
    },
    {
      "file": "HomeGames.csv",
      "size_bytes": 178043,
      "size_mb": 0.178043,
      "rows": 3303,
      "columns": 9,
      "column_count": 9,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 5.8979,
        "median_ms": 5.7682,
        "min_ms": 4.1181,
        "max_ms": 9.6967,
        "stdev_ms": 1.1317
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 3.0182,
        "median_ms": 2.7921,
        "min_ms": 2.4303,
        "max_ms": 4.9532,
        "stdev_ms": 0.564
      },
      "speedup_default_over_pyarrow": 1.9541,
      "winner": "pyarrow"
    },
    {
      "file": "Managers.csv",
      "size_bytes": 169548,
      "size_mb": 0.169548,
      "rows": 4410,
      "columns": 10,
      "column_count": 10,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 4.8435,
        "median_ms": 4.5952,
        "min_ms": 4.224,
        "max_ms": 7.2098,
        "stdev_ms": 0.6636
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.5402,
        "median_ms": 2.5603,
        "min_ms": 2.1767,
        "max_ms": 2.9898,
        "stdev_ms": 0.1676
      },
      "speedup_default_over_pyarrow": 1.9067,
      "winner": "pyarrow"
    },
    {
      "file": "ManagersHalf.csv",
      "size_bytes": 3568,
      "size_mb": 0.003568,
      "rows": 93,
      "columns": 10,
      "column_count": 10,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.0375,
        "median_ms": 1.005,
        "min_ms": 0.9508,
        "max_ms": 1.4247,
        "stdev_ms": 0.0953
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.022,
        "median_ms": 1.9759,
        "min_ms": 1.778,
        "max_ms": 2.4755,
        "stdev_ms": 0.1629
      },
      "speedup_default_over_pyarrow": 0.5131,
      "winner": "pandas_default"
    },
    {
      "file": "Parks.csv",
      "size_bytes": 22638,
      "size_mb": 0.022638,
      "rows": 345,
      "columns": 7,
      "column_count": 7,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.4478,
        "median_ms": 1.4008,
        "min_ms": 1.315,
        "max_ms": 2.5888,
        "stdev_ms": 0.156
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.9848,
        "median_ms": 1.9524,
        "min_ms": 1.7651,
        "max_ms": 2.4534,
        "stdev_ms": 0.1305
      },
      "speedup_default_over_pyarrow": 0.7294,
      "winner": "pandas_default"
    },
    {
      "file": "People.csv",
      "size_bytes": 3223128,
      "size_mb": 3.223128,
      "rows": 24270,
      "columns": 25,
      "column_count": 25,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 69.9977,
        "median_ms": 68.8832,
        "min_ms": 67.3183,
        "max_ms": 80.9916,
        "stdev_ms": 2.8704
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 8.2688,
        "median_ms": 8.1879,
        "min_ms": 7.7085,
        "max_ms": 9.2485,
        "stdev_ms": 0.3203
      },
      "speedup_default_over_pyarrow": 8.4653,
      "winner": "pyarrow"
    },
    {
      "file": "Pitching.csv",
      "size_bytes": 5112472,
      "size_mb": 5.112472,
      "rows": 57630,
      "columns": 30,
      "column_count": 30,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 84.5593,
        "median_ms": 83.9022,
        "min_ms": 81.6429,
        "max_ms": 90.5135,
        "stdev_ms": 2.0852
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 10.2096,
        "median_ms": 10.1544,
        "min_ms": 9.5849,
        "max_ms": 11.5154,
        "stdev_ms": 0.3945
      },
      "speedup_default_over_pyarrow": 8.2823,
      "winner": "pyarrow"
    },
    {
      "file": "PitchingPost.csv",
      "size_bytes": 624914,
      "size_mb": 0.624914,
      "rows": 7474,
      "columns": 30,
      "column_count": 30,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 13.6285,
        "median_ms": 13.3337,
        "min_ms": 12.0286,
        "max_ms": 21.644,
        "stdev_ms": 1.5348
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 4.229,
        "median_ms": 4.2076,
        "min_ms": 3.8615,
        "max_ms": 4.7461,
        "stdev_ms": 0.1798
      },
      "speedup_default_over_pyarrow": 3.2226,
      "winner": "pyarrow"
    },
    {
      "file": "Salaries.csv",
      "size_bytes": 800653,
      "size_mb": 0.800653,
      "rows": 26428,
      "columns": 5,
      "column_count": 5,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 13.1203,
        "median_ms": 12.9306,
        "min_ms": 12.1456,
        "max_ms": 15.6877,
        "stdev_ms": 0.7001
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 3.4301,
        "median_ms": 3.4161,
        "min_ms": 3.0599,
        "max_ms": 3.9051,
        "stdev_ms": 0.1928
      },
      "speedup_default_over_pyarrow": 3.825,
      "winner": "pyarrow"
    },
    {
      "file": "Schools.csv",
      "size_bytes": 66713,
      "size_mb": 0.066713,
      "rows": 1287,
      "columns": 5,
      "column_count": 5,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.2595,
        "median_ms": 2.1617,
        "min_ms": 2.0603,
        "max_ms": 5.0534,
        "stdev_ms": 0.3227
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.9975,
        "median_ms": 1.9748,
        "min_ms": 1.7803,
        "max_ms": 2.3156,
        "stdev_ms": 0.1238
      },
      "speedup_default_over_pyarrow": 1.1312,
      "winner": "pyarrow"
    },
    {
      "file": "SeriesPost.csv",
      "size_bytes": 13628,
      "size_mb": 0.013628,
      "rows": 440,
      "columns": 9,
      "column_count": 9,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.3226,
        "median_ms": 1.2806,
        "min_ms": 1.2105,
        "max_ms": 2.0515,
        "stdev_ms": 0.1133
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.0891,
        "median_ms": 2.0458,
        "min_ms": 1.7931,
        "max_ms": 2.6227,
        "stdev_ms": 0.1834
      },
      "speedup_default_over_pyarrow": 0.6331,
      "winner": "pandas_default"
    },
    {
      "file": "Teams.csv",
      "size_bytes": 701384,
      "size_mb": 0.701384,
      "rows": 3614,
      "columns": 48,
      "column_count": 48,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 13.0053,
        "median_ms": 12.7435,
        "min_ms": 12.1998,
        "max_ms": 18.1552,
        "stdev_ms": 0.7551
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 4.3277,
        "median_ms": 4.2984,
        "min_ms": 4.0304,
        "max_ms": 4.859,
        "stdev_ms": 0.1842
      },
      "speedup_default_over_pyarrow": 3.0051,
      "winner": "pyarrow"
    },
    {
      "file": "TeamsFranchises.csv",
      "size_bytes": 5610,
      "size_mb": 0.00561,
      "rows": 203,
      "columns": 4,
      "column_count": 4,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.0878,
        "median_ms": 1.0627,
        "min_ms": 0.9475,
        "max_ms": 1.5473,
        "stdev_ms": 0.1147
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.8359,
        "median_ms": 1.7968,
        "min_ms": 1.5649,
        "max_ms": 2.2781,
        "stdev_ms": 0.1389
      },
      "speedup_default_over_pyarrow": 0.5925,
      "winner": "pandas_default"
    },
    {
      "file": "TeamsHalf.csv",
      "size_bytes": 3782,
      "size_mb": 0.003782,
      "rows": 142,
      "columns": 10,
      "column_count": 10,
      "default_profile_error": null,
      "pandas_default": {
        "label": "pandas_default_read_csv",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 1.1265,
        "median_ms": 1.0772,
        "min_ms": 0.9663,
        "max_ms": 2.3633,
        "stdev_ms": 0.1814
      },
      "pyarrow": {
        "label": "pandas_read_csv_engine_pyarrow",
        "ok": true,
        "error": null,
        "warmup_errors": [],
        "run_errors": [],
        "runs_requested": 100,
        "runs_completed": 100,
        "avg_ms": 2.071,
        "median_ms": 2.0042,
        "min_ms": 1.8293,
        "max_ms": 2.6029,
        "stdev_ms": 0.1723
      },
      "speedup_default_over_pyarrow": 0.5439,
      "winner": "pandas_default"
    }
  ],
  "quality_checks": {
    "csv_file_count": 27,
    "ignored_file_count": 0,
    "ignored_files": [],
    "profile_error_count": 0,
    "profile_errors": [],
    "pandas_default_error_count": 0,
    "pandas_default_errors": [],
    "pyarrow_error_count": 0,
    "pyarrow_errors": []
  }
}