質問編集履歴

7

守勢しました

2017/03/15 10:58

投稿

Casablanca_mtg
Casablanca_mtg

スコア209

test CHANGED
File without changes
test CHANGED
@@ -155,3 +155,91 @@
155
155
  ```
156
156
 
157
157
  returnのところでひかかります
158
+
159
+ まだこの続きがありまして
160
+
161
+ C:\Users\mtg-1>python -m profile list_bench.py
162
+
163
+ 20012 function calls in 1.803 seconds
164
+
165
+
166
+
167
+ Ordered by: standard name
168
+
169
+
170
+
171
+ ncalls tottime percall cumtime percall filename:lineno(function)
172
+
173
+ 1 0.000 0.000 0.000 0.000 :0(hasattr)
174
+
175
+ 2 0.000 0.000 0.000 0.000 :0(range)
176
+
177
+ 1 0.003 0.003 0.003 0.003 :0(setprofile)
178
+
179
+ 1 0.007 0.007 1.800 1.800 list_bench.py:2(<module>)
180
+
181
+ 10000 0.130 0.000 0.130 0.000 list_bench.py:3(bench1)
182
+
183
+ 10000 0.264 0.000 0.264 0.000 list_bench.py:6(bench2)
184
+
185
+ 2 1.396 0.698 1.791 0.895 list_bench.py:9(loop)
186
+
187
+ 1 0.000 0.000 0.000 0.000 profile.py:111(Profile)
188
+
189
+ 1 0.000 0.000 0.000 0.000 profile.py:369(fake_code)
190
+
191
+ 1 0.000 0.000 0.000 0.000 profile.py:379(fake_frame)
192
+
193
+ 1 0.002 0.002 0.002 0.002 profile.py:9(<module>)
194
+
195
+ 1 0.000 0.000 1.803 1.803 profile:0(<code object <module> at 0000000002B8A2B0, file "list_bench.py", line 2>)
196
+
197
+ 0 0.000 0.000 profile:0(profiler)
198
+
199
+ このようにできました
200
+
201
+ さらに
202
+
203
+ C:\Users\mtg-1>python -m profile -s list_benchi.py
204
+
205
+ Traceback (most recent call last):
206
+
207
+ File "C:\Users\mtg-1\Anaconda2\lib\runpy.py", line 174, in _run_module_as_main
208
+
209
+ "__main__", fname, loader, pkg_name)
210
+
211
+ File "C:\Users\mtg-1\Anaconda2\lib\runpy.py", line 72, in _run_code
212
+
213
+ exec code in run_globals
214
+
215
+ File "C:\Users\mtg-1\Anaconda2\lib\profile.py", line 610, in <module>
216
+
217
+ main()
218
+
219
+ File "C:\Users\mtg-1\Anaconda2\lib\profile.py", line 605, in main
220
+
221
+ parser.print_usage()
222
+
223
+ File "C:\Users\mtg-1\Anaconda2\lib\optparse.py", line 1603, in print_usage
224
+
225
+ print >>file, self.get_usage()
226
+
227
+ File "C:\Users\mtg-1\Anaconda2\lib\optparse.py", line 1589, in get_usage
228
+
229
+ self.expand_prog_name(self.usage))
230
+
231
+ File "C:\Users\mtg-1\Anaconda2\lib\optparse.py", line 1566, in expand_prog_name
232
+
233
+ return s.replace("%prog", self.get_prog_name())
234
+
235
+ File "C:\Users\mtg-1\Anaconda2\lib\optparse.py", line 1561, in get_prog_name
236
+
237
+ return os.path.basename(sys.argv[0])
238
+
239
+ IndexError: list index out of range
240
+
241
+
242
+
243
+ IndexErrorが出ます。原因はどのようなことになりますか?
244
+
245
+ よろしくお願いいたします

6

修正しました

2017/03/15 10:58

投稿

Casablanca_mtg
Casablanca_mtg

スコア209

test CHANGED
File without changes
test CHANGED
@@ -130,7 +130,7 @@
130
130
 
131
131
  return list3
132
132
 
133
- def llop(bench):
133
+ def loop(bench):
134
134
 
135
135
  for i in range(10000):
136
136
 

5

修正しました

2017/03/15 05:46

投稿

Casablanca_mtg
Casablanca_mtg

スコア209

test CHANGED
File without changes
test CHANGED
@@ -154,4 +154,4 @@
154
154
 
155
155
  ```
156
156
 
157
- rンオところでかかります
157
+ returnのところでかかります

4

修正しました

2017/03/15 05:18

投稿

Casablanca_mtg
Casablanca_mtg

スコア209

test CHANGED
File without changes
test CHANGED
@@ -109,3 +109,49 @@
109
109
  ちなみに使用OSはWin10です
110
110
 
111
111
  よろしくお願いいたします
112
+
113
+ list_bench.pyをやり直しましたが
114
+
115
+ ```ここに言語を入力
116
+
117
+ # -*- coding: utf-8 -*-
118
+
119
+ import profile
120
+
121
+ def bench1(list1, list2):
122
+
123
+ list1 += list2
124
+
125
+ return list1
126
+
127
+ def bench2(list1, list2):
128
+
129
+ list3 = list1 + list2
130
+
131
+ return list3
132
+
133
+ def llop(bench):
134
+
135
+ for i in range(10000):
136
+
137
+ bench([1,] *i, [2,] * i)
138
+
139
+ profile.run('loop(bench1)')
140
+
141
+ profile.run('loop(bench2)')
142
+
143
+
144
+
145
+ if __name__ =='__main__':
146
+
147
+ loop(bench1)
148
+
149
+ loop(bench2)
150
+
151
+
152
+
153
+ コード
154
+
155
+ ```
156
+
157
+ 列rンオところで日かかります

3

修正しました

2017/03/15 05:17

投稿

Casablanca_mtg
Casablanca_mtg

スコア209

test CHANGED
File without changes
test CHANGED
@@ -22,33 +22,85 @@
22
22
 
23
23
  **********************************
24
24
 
25
+ ```ここに言語を入力
26
+
25
27
  C:\Users\mtg-1>python -m profile list_bench.py
28
+
29
+ ```
30
+
31
+ ```ここに言語を入力
26
32
 
27
33
  Traceback (most recent call last):
28
34
 
35
+ ```
36
+
37
+ ```ここに言語を入力
38
+
29
39
  File "C:\Users\mtg-1\Anaconda2\lib\runpy.py", line 174, in _run_module_as_main
30
40
 
41
+ ```
42
+
43
+ ```ここに言語を入力
44
+
31
- "__main__", fname, loader, pkg_name)
45
+ "__main__", fname, loader, pkg_name)
46
+
47
+ ```
48
+
49
+ ```ここに言語を入力
32
50
 
33
51
  File "C:\Users\mtg-1\Anaconda2\lib\runpy.py", line 72, in _run_code
34
52
 
35
- exec code in run_globals
53
+ ```
36
54
 
37
- File "C:\Users\mtg-1\Anaconda2\lib\profile.py", line 610, in <module>
55
+ ```ここに言語を入力
38
56
 
39
- main()
57
+ exec code in run_globals
40
58
 
41
- File "C:\Users\mtg-1\Anaconda2\lib\profile.py", line 597, in main
59
+ ```
42
60
 
61
+ ```ここに言語を入力
62
+
63
+ File "C:\Users\mtg-1\Anaconda2\lib\profile.py", line 610, in <module>
64
+
65
+ ```
66
+
67
+ ```ここに言語を入力
68
+
69
+ main()
70
+
71
+ ```
72
+
73
+ ```ここに言語を入力
74
+
75
+ File "C:\Users\mtg-1\Anaconda2\lib\profile.py", line 597, in main
76
+
77
+ ```
78
+
79
+ ```ここに言語を入力
80
+
43
- code = compile(fp.read(), progname, 'exec')
81
+ code = compile(fp.read(), progname, 'exec')
82
+
83
+ ```
84
+
85
+ ```ここに言語を入力
44
86
 
45
87
  File "list_bench.py", line 2
46
88
 
89
+ ```
90
+
91
+ ```ここに言語を入力
92
+
47
- ...
93
+ ...
94
+
95
+ ```
48
96
 
49
97
  ^
50
98
 
99
+ ```ここに言語を入力
100
+
51
101
  SyntaxError: invalid syntax
102
+
103
+ ```
52
104
 
53
105
  構文エラーですがなぜこのようになるのかがわかりません
54
106
 

2

間違いましたので修正しました

2017/03/15 04:32

投稿

Casablanca_mtg
Casablanca_mtg

スコア209

test CHANGED
File without changes
test CHANGED
@@ -8,11 +8,11 @@
8
8
 
9
9
  ...
10
10
 
11
- if __name__ ==7__main__':
11
+ if __name__ ==__main__':
12
12
 
13
- loop(bench1)
13
+ ...loop(bench1)
14
14
 
15
- loop(bench2)
15
+ ...loop(bench2)
16
16
 
17
17
 
18
18
 

1

インデント修正しました

2017/03/15 03:18

投稿

Casablanca_mtg
Casablanca_mtg

スコア209

test CHANGED
File without changes
test CHANGED
@@ -8,15 +8,15 @@
8
8
 
9
9
  ...
10
10
 
11
- if __name__ =='__main__':
11
+ if __name__ ==7__main__':
12
12
 
13
- loop(bench1)
13
+ loop(bench1)
14
14
 
15
- loop(bench2)
15
+ loop(bench2)
16
16
 
17
17
 
18
18
 
19
- そして
19
+ そしてコマンドプロンプトで
20
20
 
21
21
  python -m profile list_bench.py とコードをたたくと下記のエラーが出ます。
22
22