teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正

2021/01/12 08:09

投稿

tiitoi
tiitoi

スコア21960

answer CHANGED
@@ -10,13 +10,13 @@
10
10
  a = np.arange(100 * 8 * 20 * 20).reshape(100, 8 * 20 * 20)
11
11
  b = np.arange(100 * 8).reshape(100, 8)
12
12
 
13
- ## 質問者さんやり方
13
+ ## 質問のコード
14
14
  c = np.zeros(100)
15
15
  for i in range(100):
16
16
  for j in range(400):
17
17
  c[i] += np.dot(a[i, 8 * j : 8 * (j + 1)], b[i])
18
18
 
19
- ## 回答のやり方
19
+ ## 回答のコード
20
20
  c2 = (a.reshape(100, -1, 8) * b.reshape(100, 1, 8)).sum(axis=(1, 2))
21
21
 
22
22
  # 結果が一致するかどうか
@@ -26,6 +26,8 @@
26
26
  timeit のベンチマークによると、ループを削除したことにより 300倍ぐらい高速になりました。
27
27
 
28
28
  ```
29
+ ## 質問のコード
29
30
  143 ms ± 2.65 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)
31
+ ## 回答のコード
30
32
  553 µs ± 384 ns per loop (mean ± std. dev. of 7 runs, 1000 loops each)
31
- ``
33
+ ```