PERF: halve render time in Styler with itertuples by attack68 · Pull Request #39972 · pandas-dev/pandas (original) (raw)
before after ratio
[dfb92d0f] [e5c2790b]
<master> <perf_itertups>
- 149±1ms 74.4±2ms 0.50 io.style.RenderApply.time_render(24, 120)
- 31.9±1ms 15.9±0.8ms 0.50 io.style.RenderApply.time_render(24, 12)
- 86.3±20ms 42.3±1ms 0.49 io.style.RenderApply.time_render(12, 120)
- 12.2±0.2ms 5.93±0.2ms 0.49 io.style.RenderApply.time_render(12, 12)
- 44.8±0.5ms 21.7±0.3ms 0.48 io.style.RenderApply.time_render(36, 12)
- 227±2ms 99.9±1ms 0.44 io.style.RenderApply.time_render(36, 120)
SOME BENCHMARKS HAVE CHANGED SIGNIFICANTLY.
PERFORMANCE INCREASED.
FYI Styler
now faster than to_html
, even without any function stripping...
df = pd.DataFrame(np.random.rand(10000,10))
%timeit df.to_html()
1.9 s ± 63.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)
%timeit df.style.render()
1.71 s ± 14.2 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)