這篇文章主要講解了“python如何使用cProfile針對(duì)回測(cè)進(jìn)行性能分析”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“python如何使用cProfile針對(duì)回測(cè)進(jìn)行性能分析”吧!
創(chuàng)新互聯(lián)"三網(wǎng)合一"的企業(yè)建站思路。企業(yè)可建設(shè)擁有電腦版、微信版、手機(jī)版的企業(yè)網(wǎng)站。實(shí)現(xiàn)跨屏營(yíng)銷,產(chǎn)品發(fā)布一步更新,電腦網(wǎng)絡(luò)+移動(dòng)網(wǎng)絡(luò)一網(wǎng)打盡,滿足企業(yè)的營(yíng)銷需求!創(chuàng)新互聯(lián)具備承接各種類型的成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)項(xiàng)目的能力。經(jīng)過(guò)10余年的努力的開(kāi)拓,為不同行業(yè)的企事業(yè)單位提供了優(yōu)質(zhì)的服務(wù),并獲得了客戶的一致好評(píng)。安裝
不用安裝,python一般自帶都有的,
使用方法有幾個(gè),我是直接輸出。就是把回測(cè)代碼放在一個(gè)方法里面,比如runBackTesting()里面。然后再main方法按照下面代碼跑,這里是按照累計(jì)時(shí)間排序的。提示,最好注釋掉Matplot圖像輸出,因?yàn)榻换サ臅r(shí)間也是統(tǒng)計(jì)的。
if __name__ == '__main__': cProfile.run("runBackTesting()", sort="cumulative")
如下圖所示
第一行 是總共調(diào)用function次數(shù),和總運(yùn)行時(shí)間次數(shù)
下面列的說(shuō)明
ncalls:表示函數(shù)調(diào)用的次數(shù);
tottime:表示指定函數(shù)的總的運(yùn)行時(shí)間,除掉函數(shù)中調(diào)用子函數(shù)的運(yùn)行時(shí)間;
percall:(第一個(gè)percall)等于 tottime/ncalls;
cumtime:表示該函數(shù)及其所有子函數(shù)的調(diào)用運(yùn)行的時(shí)間,即函數(shù)開(kāi)始調(diào)用到返回的時(shí)間;
percall:(第二個(gè)percall)即函數(shù)運(yùn)行一次的平均時(shí)間,等于 cumtime/ncalls;
filename:lineno(function):每個(gè)函數(shù)調(diào)用的具體信息;前面是文件名,第幾行,后面是方法名,有些方法比如max,min這些就沒(méi)有文件名了。
感謝各位的閱讀,以上就是“python如何使用cProfile針對(duì)回測(cè)進(jìn)行性能分析”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)python如何使用cProfile針對(duì)回測(cè)進(jìn)行性能分析這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!