啥物是 Phū-lō-hai-līng (Profiling)? 踮軟體界, 伊是一種收集, 分拆當佇運行程式个手路. 比如講, 有時你想欲知影你寫个函式, 抑是開偌濟時間, 予人呼幾遍。
Profiling 會使用家己个智識來寫, 嘛會使用人攢便便的工具。Python 本是就有工具會當使用.
Timeit Má-tsìo (Module)
Timeit 是一个 Má-tsìo,來計算一
屑仔程式(code snippet)个時間真好用. 伊會使用佇
應聲模式抑是 Python
戲文模式內底。伊的使用方法蓋簡單:
簡單例
以下是應聲模式, (這例是uì
Python 官方網站个例 kok-pì 過來):
$ python3 -m timeit '"-".join(str(n) for n in range(100))'
10000 loops, best of 5: 30.2 usec per loop
$ python3 -m timeit '"-".join([str(n) for n in range(100)])'
10000 loops, best of 5: 27.5 usec per loop
$ python3 -m timeit '"-".join(map(str, range(100)))'
10000 loops, best of 5: 23.2 usec per loop
這是戲文模式:
>>> import timeit
>>> timeit.timeit('"-".join(str(n) for n in range(100))', number=10000)
0.3018611848820001
>>> timeit.timeit('"-".join([str(n) for n in range(100)])', number=10000)
0.2727368790656328
>>> timeit.timeit('"-".join(map(str, range(100)))', number=10000)
0.23702679807320237
number 是予伊做幾擺. 應聲模式是自動決定. 因為電腦運行環境四常變化, 愛予伊走較濟遍才來揀出較合軀个數字.
伊的介面真濟, 完整个介紹請參考
遮. 這馬我干焦欲展示用著个.
timeit.
default_timer
()
伊是真簡單用, 佇戲文模式中方, 計算一段 Khóo (code) 運行時間. 伊的使用方法真間單,我以我所寫的程式做例:
import timeit
time_start = timeit.default_timer()
grad = network.numerical_gradient(x_batch, t_batch)
time_end = timeit.default_timer() - time_start
就是用 default_timer() 共一段 Khóo (code) 挾起來, 取伊前後个時間, 相減就是伊運行个時間。
當然, timeit 个使用毋但按呢, 家己若有需要會使去伊个官網
踅踅, 抑是後擺我有用著, 才閣添入來.
若是欲挃閣較詳細个資訊, 著愛使用 cProfile module
沒有留言:
張貼留言