Profiling Lrama¶ ↑
To help improve Lrama’s processing speed and reduce its memory usage, Lrama supports two profiling options:
-
Call-stack profiling using the stackprof gem
-
Memory profiling using the memory_profiler gem
Call-stack Profiling Lrama¶ ↑
1. Create parse.tmp.y in ruby/ruby¶ ↑
$ ruby tool/id2token.rb parse.y > parse.tmp.y $ cp parse.tmp.y dir/lrama/tmp
2. Run Lrama¶ ↑
$ exe/lrama -o parse.tmp.c --header=parse.tmp.h --profile=call-stack tmp/parse.tmp.y
3. Generate Flamegraph¶ ↑
$ stackprof --d3-flamegraph tmp/stackprof-cpu-myapp.dump > tmp/flamegraph.html
Memory Profiling Lrama¶ ↑
1. Create parse.tmp.y in ruby/ruby¶ ↑
$ ruby tool/id2token.rb parse.y > parse.tmp.y $ cp parse.tmp.y dir/lrama/tmp
2. Run Lrama¶ ↑
$ exe/lrama -o parse.tmp.c --header=parse.tmp.h --profile=memory tmp/parse.tmp.y
Then “tmp/memory_profiler.txt” is generated.