[PYTHON] @ Ist schneller als Punkt

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.

Recommended Posts

@ Ist schneller als Punkt
sympy.Mul ist viel schneller als sympy.prod
[Kleine Geschichte] In Python ist i = i + 1 etwas schneller als i + = 1.
Schnellerer Python-Release-Zyklus!
Golang vs. Python - Ist Golang besser als Python?
[Memo für Python-Wettbewerbsprofi] Der LRU-Cache ist schneller als die Memokonvertierung im Programm
Was ist schneller, Python Shuffle oder Sample?