Skip to content
Snippets Groups Projects
Commit 6985efe0 authored by Martin Lange's avatar Martin Lange
Browse files

use cProfile as a module to avoid showing the Py baseline overhead

parent eec0a63a
No related branches found
No related tags found
1 merge request!234No startup overhead in profiling
Pipeline #134132 passed with stages
in 6 minutes and 42 seconds
......@@ -5,7 +5,11 @@ Two components, coupled via a single link.
Simulation runs for 1 year with a daily step in both components.
Components exchange a 128x64 uniform grid.
"""
import cProfile
import datetime as dt
import io
import pstats
import sys
import finam as fm
......@@ -52,6 +56,18 @@ def run_model():
composition.run(end_time=end_time)
if __name__ == "__main__":
for i in range(10):
def run_model_multi(n):
for _ in range(n):
run_model()
if __name__ == "__main__":
pr = cProfile.Profile()
pr.enable()
run_model_multi(10)
pr.disable()
s = io.StringIO()
ps = pstats.Stats(pr, stream=s).sort_stats(pstats.SortKey.CUMULATIVE)
ps.dump_stats(sys.argv[1])
......@@ -5,7 +5,11 @@ Two components, coupled via a single link.
Simulation runs for 1 year with a daily step in both components.
Components exchange a 128x64 uniform grid.
"""
import cProfile
import datetime as dt
import io
import pstats
import sys
import finam as fm
......@@ -52,6 +56,18 @@ def run_model():
composition.run(end_time=end_time)
if __name__ == "__main__":
for i in range(10):
def run_model_multi(n):
for _ in range(n):
run_model()
if __name__ == "__main__":
pr = cProfile.Profile()
pr.enable()
run_model_multi(10)
pr.disable()
s = io.StringIO()
ps = pstats.Stats(pr, stream=s).sort_stats(pstats.SortKey.CUMULATIVE)
ps.dump_stats(sys.argv[1])
......@@ -7,7 +7,7 @@ for filename in benchmarks/profiling/*.py; do
fn=$(basename -- "$filename")
fn="${fn%.*}"
echo "$fn"
python -m cProfile -o prof/"$fn".pstats benchmarks/profiling/"$fn".py
python benchmarks/profiling/"$fn".py prof/"$fn".pstats
gprof2dot --colour-nodes-by-selftime -f pstats prof/"$fn".pstats > prof/"$fn".dot
dot -Tsvg -o prof/"$fn".svg prof/"$fn".dot
dot -Tpng -o prof/"$fn".png prof/"$fn".dot
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment