Почему мои поляры медленнее, чем панды, при простом разделении столбцов?Python

Программы на Python
Anonymous
Почему мои поляры медленнее, чем панды, при простом разделении столбцов?

Сообщение Anonymous »

У меня есть следующий тестовый код с показателями времени:

Код: Выделить всё

import time
import polars as pl
import pandas as pd
import numpy as np

n = 10_000_000
np_arrs = {"x": np.random.rand(n), "y": np.random.rand(n)}
pl_df = pl.DataFrame(np_arrs)
pd_df = pd.DataFrame(np_arrs)

t0 = time.time()
z = np_arrs["x"] / np_arrs["y"]
t1 = time.time()
print(f"time cost: {round((t1 - t0) * 1000)} ms")  # 20 ms

t0 = time.time()
z = pl_df["x"] / pl_df["y"]
t1 = time.time()
print(f"time cost: {round((t1 - t0) * 1000)} ms")  # 42 ms

t0 = time.time()
z = pd_df["x"] / pd_df["y"]
t1 = time.time()
print(f"time cost: {round((t1 - t0) * 1000)} ms")  # 18 ms
Для меня странно, что поляры примерно в 2 раза медленнее. Кто-нибудь знает, почему?
Мои тестовые среды:
  • компьютер: MBP 2020, 13 дюймов, 4-ядерный i5 с тактовой частотой 2 ГГц , 16 ГБ памяти.
  • python: 3.12.3
  • numpy: 1.26.4
  • pandas: 2.2. 2
  • поляры: 0,20,31


Подробнее здесь: https://stackoverflow.com/questions/786 ... -divisions

Вернуться в «Python»