Reference: pandas. Different workloads; metric equivalence is not established.
Cold = fresh process (startup/import/exit included); warm = operation after warmup.
Times in seconds: median [IQR]. Cache treatment is recorded in results.json.
Evidence: diagnostic; 1 process blocks, 3 samples per block. Publication mode is not an established baseline.
Import/setup and first-operation boundaries and ordered controls are retained in JSON; no independent medians are subtracted.

| Tool | Cold median [IQR] | Warm median [IQR] | Cold vs reference | Warm vs reference |
| --- | ---: | ---: | --- | --- |
| dataprof | 0.078546 [0.002704] | 0.001664 [0.000049] | 4.58x speedup | 2.03x speedup |
| pandas | 0.359792 [0.013928] | 0.003375 [0.000104] | 1.00x speedup | 1.00x speedup |
| polars | 0.154886 [0.004164] | 0.000968 [0.000063] | 2.32x speedup | 3.49x speedup |
| ydata-profiling | 2.612088 [0.126213] | 0.216925 [0.013924] | 7.26x slowdown | 64.28x slowdown |

Resource evidence: diagnostic only; median [IQR] across worker processes.
Energy covers the host zone, including background load and the collector; it is not process or whole-system energy. Zones are never summed.
Cold workers run once; warm workers include imports, warmups and every iteration. Warm resource values are block totals, not per-operation costs.
RSS is the worker lifetime high-water mark through its last operation, excluding children.
Idle-adjusted energy is a signed estimate; negative values are retained. Raw readings, paired baselines and unavailable reasons are in results.json.

| Tool | Worker condition | Peak RSS MiB [IQR] |
| --- | --- | ---: |
| dataprof | cold | 33.093750 [0.074219] |
| dataprof | warm | insufficient_samples (1/1) |
| pandas | cold | 117.664062 [0.169922] |
| pandas | warm | insufficient_samples (1/1) |
| polars | cold | 72.140625 [0.044922] |
| polars | warm | insufficient_samples (1/1) |
| ydata-profiling | cold | 347.527344 [0.058594] |
| ydata-profiling | warm | insufficient_samples (1/1) |

| Tool | Worker condition | Energy zone | Gross J [IQR] | Idle-adjusted J [IQR] |
| --- | --- | --- | ---: | ---: |
| dataprof | cold | unavailable | unavailable | unavailable |
| dataprof | warm | unavailable | unavailable | unavailable |
| pandas | cold | unavailable | unavailable | unavailable |
| pandas | warm | unavailable | unavailable | unavailable |
| polars | cold | unavailable | unavailable | unavailable |
| polars | warm | unavailable | unavailable | unavailable |
| ydata-profiling | cold | unavailable | unavailable | unavailable |
| ydata-profiling | warm | unavailable | unavailable | unavailable |
