Multiplizieren Sie mit @
, was in Python3.5 und höher verfügbar ist.
Wenn ich es vergleiche:
use_at
import numpy as np
N=1000
LOOP=10
a=np.arange(N*N).reshape(N,N)
for _ in range(LOOP):
b=a@a@a
use_dot
import numpy as np
N=1000
LOOP=10
a=np.arange(N*N).reshape(N,N)
for _ in range(LOOP):
b=a.dot(a).dot(a)
Wie schreibt man | Zeit |
---|---|
use_at | user 0m12.344s |
use_dot | user 0m35.812s |
Wie, @
ist ungefähr dreimal schneller. Ich denke, es hängt von der Größe der Matrix, der Art des Wertes, dem Verarbeitungssystem usw. ab, aber wenn Sie den obigen Code ausführen, erhalten Sie dieses Ergebnis.
Ich war ein wenig überrascht.