Memray
Memray: the endgame memory profiler
Getting started - memray
bloomberg/memray: Memray is a memory profiler for Python
https://gyazo.com/36c36fd7b124084e341e8d3ee4e582b2
インストール
$ pip install memray
使い方
$ memray run sample.py
memray-sample.py.172322.binのようなファイルが生成される
HTMLに変換
$ memray flamegraph memray-sample.py.172322.bin
memray-flamegraph-sample.py.172322.htmlが生成される
https://gyazo.com/a8b9befc4a95f675d10f1d469fb41042
ライブ出力 --live
$ memray run --live sample.py
qで終了
https://gyazo.com/d379aecc8546906c9555268860e29571
別のターミナルに出力 --live-remote
$ memray run --live-remote sample.py
ポートが出力される
別のターミナルでプロファイル表示が行われるまで実行を待つ
別のターミナルを開いて
$ memray live <port>
C拡張内の処理も確認する --native
Numpyなど
$ memray run --native sample-arr.py
Jupyter Integration
code:ipynb
%load_ext memray
code:ipynb
%%memray_flamegraph
...
withlステートメントで部分的に状態を見る
code:py
from memray import Tracker
with Tracker("memray.bin"):
...
pytest plugin: pytest-memray
pytest-memray
現状Windows非対応
メモリプロファイラ「Memray」の解説 | gihyo.jp
memory profiler