python自帶了幾個效能分析的模組:profile、cprofile和hotshot,使用方法基本都差不多,無非模組是純python還是用c寫的。本文介紹cprofile。
例子
import執行time
deffunc1():
sum =0
for i in range(1000000):
sum +=i
deffunc2():
time.sleep(10)
func1()
func2()
python -m cprofile del.py執行結果
結果分析
執行了6個函式,總共花費了10.138s,按著執行函式名字排序為結果輸出。
執行指令碼
python -m cprofile -o del.out del.py這裡以模組方式直接儲存profile結果,可以進一步分析輸出結果,執行
python -c "結果(隨機)import pstats; p=pstats.stats('del.out'); p.print_stats()
"
可以設定排序方式,例如以花費時間多少排序
sort_stats支援以下引數:
calls, cumulative, file, line, module, name, nfl, pcalls, stdname, timepstats模組還支援互動式
原子性 一致性 隔離性 永續性
事務是指對系統進行的一組操作,為了保證系統的完整性,事務需要具有acid特性,具體如下 1.原子性 atomic 乙個事務包含多個操作,這些操作要麼全部執行,要麼全都不執行。實現事務的原子性,要支援回滾操作,在某個操作失敗後,回滾到事務執行之前的狀態。回滾實際上是乙個比較高層抽象的概念,大多數db在...
原子性一致性隔離性永續性
事務是指對系統進行的一組操作,為了保證系統的完整性,事務需要具有acid特性,具體如下 1.原子性 atomic 乙個事務包含多個操作,這些操作要麼全部執行,要麼全都不執行。實現事務的原子性,要支援回滾操作,在某個操作失敗後,回滾到事務執行之前的狀態。回滾實際上是乙個比較高層抽象的概念,大多數db在...
原子性 冪等性
原子性 如果這個操作所處的層 layer 的更高層不能發現其內部實現與結構,那麼這個操作是乙個原子 atomic 操作。原子操作可以是乙個步驟,也可以是多個操作步驟,但是其順序不可以被打亂,也不可以被切割而只執行其中的一部分。將整個操作視作乙個整體是原子性的核心特徵。冪等性 再簡單一點說,在乙個業務...