[PYTHON] @ Est plus rapide que dot

Multipliez par «@», qui est disponible dans python3.5 et versions ultérieures.

Quand je le compare:

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)
Comment écrire temps
use_at user 0m12.344s
use_dot user 0m35.812s

Comment, @ est environ trois fois plus rapide. Je pense que cela dépend de la taille de la matrice, du type de valeur, du système de traitement, etc., mais si vous exécutez le code ci-dessus à portée de main, vous obtiendrez ce résultat.

J'étais un peu surpris.

Recommended Posts

@ Est plus rapide que dot
sympy.Mul est beaucoup plus rapide que sympy.prod
[Petite histoire] En Python, i = i + 1 est légèrement plus rapide que i + = 1.
Le cycle de publication de Python est plus rapide!
Golang vs Python - Golang est-il meilleur que Python?
[Memo for Python competition professional] Le cache LRU est plus rapide que la conversion de mémo dans le programme
Qu'est-ce qui est le plus rapide, le mélange Python ou l'échantillon?