• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Python性能分析指南(18)

    發表于:2013-11-12來源:開源中國社區作者:袁不語點擊數: 標簽:性能測試
    1 In [1]: from primes import primes 2 In [2]: %mprun -f primes primes(1000) 3 In [3]: %lprun -f primes primes(1000) 這樣可以節省你很多時間和精力,因為你的源代碼不需要為使用這
    1 In [1]: from primes import primes
    2 In [2]: %mprun -f primes primes(1000)
    3 In [3]: %lprun -f primes primes(1000)

    這樣可以節省你很多時間和精力,因為你的源代碼不需要為使用這些分析命令而進行修改。

     
     

    內存泄漏在哪里?

    cPython解釋器使用引用計數做為記錄內存使用的主要方法。這意味著每個對象包含一個計數器,當某處對該對象的引用被存儲時計數器增加,當引用被刪除時計數器遞減。當計數器到達零時,cPython解釋器就知道該對象不再被使用,所以刪除對象,釋放占用的內存。

    如果程序中不再被使用的對象的引用一直被占有,那么就經常發生內存泄漏。

    查找這種“內存泄漏”最快的方式是使用Marius Gedminas編寫的objgraph,這是一個極好的工具。該工具允許你查看內存中對象的數量,定位含有該對象的引用的所有代碼的位置。

     

    一開始,首先安裝objgraph:

    1 pip install objgraph
    一旦你已經安裝了這個工具,在你的代碼中插入一行聲明調用調試器:
    1 import pdb; pdb.set_trace()
    最普遍的對象是哪些?

    在運行的時候,你可以通過執行下述指令查看程序中前20個最普遍的對象:

    view source

    原文轉自:http://www.oschina.net/translate/python-performance-analysis

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>