質問編集履歴

1

「ちなみに...」を追記

2019/09/25 03:29

投稿

takashim
takashim

スコア124

test CHANGED
File without changes
test CHANGED
@@ -90,11 +90,67 @@
90
90
 
91
91
  ## 知りたいこと
92
92
 
93
- A. おそらく、実際はNumpyの方が速いのではと思いますが、どたか同じ方法で検証てみて頂けないでしょうか。
93
+ A. なぜNumpyの方が遅くってまうのでしょうか。
94
94
 
95
- B. なぜNumpyの方が遅くしまうのでしょうか。
95
+ B. おそらく、実際はNumpyの方が速いのではと思いますが、どたか同じ方法で検証しみて頂けないでしょうか。
96
96
 
97
97
  C. ついでに、timeitにglobals()を付けると結果が大きく変わるのはなぜでしょうか。
98
+
99
+
100
+
101
+ ### ちなみに...
102
+
103
+ 本件と直接関係ありませんが、他のコードにて、
104
+
105
+ np.linalg.normが異常に遅く、普通のpythonのコードに書き換えたことがあります。
106
+
107
+ これはありえない?
108
+
109
+ ```
110
+
111
+ a1 = np.random.randint(1,10, (2))
112
+
113
+ a2 = np.random.randint(1,10, (2))
114
+
115
+ l1 = [random.randint(1,10) for i in range(2)]
116
+
117
+ l2 = [random.randint(1,10) for i in range(2)]
118
+
119
+
120
+
121
+ #a1=[8 9], <class 'numpy.ndarray'>
122
+
123
+ #a2=[9 1], <class 'numpy.ndarray'>
124
+
125
+ #l1=[1, 7], <class 'list'>
126
+
127
+ #l2=[9, 8], <class 'list'>
128
+
129
+
130
+
131
+ %%timeit
132
+
133
+ length1 = ((l2[0] - l1[0]) ** 2 + (l2[1] - l1[1]) ** 2) ** 0.5
134
+
135
+
136
+
137
+ #1.14 µs ± 18.9 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
138
+
139
+
140
+
141
+ %%timeit
142
+
143
+ length2 = np.linalg.norm(a2 - a1)
144
+
145
+ length2
146
+
147
+
148
+
149
+ #4.99 µs ± 301 ns per loop (mean ± std. dev. of 7 runs, 100000 loops each)
150
+
151
+ ```
152
+
153
+
98
154
 
99
155
 
100
156