Gibt es einen Leistungsvorteil in Polaren in Bezug auf die Parallelität unter Verwendung von Select Over Long ExpressionPython

Python-Programme
Anonymous
 Gibt es einen Leistungsvorteil in Polaren in Bezug auf die Parallelität unter Verwendung von Select Over Long Expression

Post by Anonymous »

Gibt es einen Unterschied in der Parallelität in Polaren beim Vergleich dieser beiden Methoden, was das gleiche Ergebnis ergibt? Methode 1 Zugewiesen in Select als Zwischenschritt, der zeigt, dass x_1 und x_2 parallel berechnet werden können. Methode 2 verwendet nur einen vollständigen Ausdruck. Es ist sowohl in der Lazy-Execution zu, die Optimierungen ermöglicht.

Code: Select all

import polars as pl

df = pl.DataFrame({
"a": pl.int_range(0,100_000_000,eager=True),
"b": pl.int_range(0,100_000_000,eager=True),
"c": pl.int_range(0,100_000_000,eager=True)}).lazy()

# Method 1
(
df.select(
x_1 = pl.col("a") + pl.col("b"),
x_2 = pl.col("b")+ pl.col("c"))
.select(target = pl.col("x_1") + pl.col("x_2"))
.collect()
)

# Method 2
(
df.select(
target =  (pl.col("a") + pl.col("b")) + (pl.col("b")+ pl.col("c"))
)
.collect()
)

Ich habe das Timing ausprobiert und Methode 2 kommt auf dem Top heraus, aber ich bin mir nicht sicher, warum. Wissen Sie also, ob eine Parallelität in der Berechnung in Methode 2 auftritt, oder ist das von Natur aus Single-Threaded?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post