对比的维度有两个:
- 不同的 DataFrame 实现,这里用的是 Pandas 和 Polars,前者是最流行的框架,后者则是用 Rust 驱动的更节约内存的框架
- 不同的经纬度转时区库的实现,这里用的是 timezonefinder1 和 tzfpy2
相关代码可以在仓库中浏览
df-lng-lat-timezones-showcase
| timezonefinder | tzfpy | |
|---|---|---|
| Pandas | 8.48 s | 1.89 s |
| Pandas(Vectorized) | 6.09 s | 396 ms |
| Polars | 7 s | 664 ms |
| NumPy | 7.9 s | 397 ms |