mirror of
https://github.com/simonmichael/hledger.git
synced 2024-09-19 10:17:35 +03:00
tools: more flexible prof and heap rules, added quickprof and quickheap
This commit is contained in:
parent
039833c739
commit
3a73eb6e73
28
Makefile
28
Makefile
@ -8,8 +8,9 @@ OPTFLAGS= #-DCHART -DVTY -DWEB
|
|||||||
CICMD=test
|
CICMD=test
|
||||||
CICMD=web -v --debug -f ~/personal/2009.ledger
|
CICMD=web -v --debug -f ~/personal/2009.ledger
|
||||||
|
|
||||||
# command to run during "make prof/heap"
|
# command line to run during "make prof" and "make heap"
|
||||||
PROFCMD=-f data/1000x1000x10.ledger balance
|
PROFCMD=bin/hledgerp -f data/1000x1000x10.ledger balance >/dev/null
|
||||||
|
PROFCMD=bin/hledgerp -f t.timelog balance --no-total
|
||||||
|
|
||||||
# command to run during "make coverage"
|
# command to run during "make coverage"
|
||||||
COVCMD=test
|
COVCMD=test
|
||||||
@ -225,24 +226,37 @@ criterionbench: sampleledgers tools/criterionbench
|
|||||||
progressionbench: sampleledgers tools/progressionbench
|
progressionbench: sampleledgers tools/progressionbench
|
||||||
tools/progressionbench -- -t png -k png
|
tools/progressionbench -- -t png -k png
|
||||||
|
|
||||||
# generate, save and display a standard profile
|
# generate, save, simplify and display an execution profile
|
||||||
prof: sampleledgers hledgerp
|
prof: sampleledgers hledgerp
|
||||||
@echo "Profiling $(PROFCMD)"
|
@echo "Profiling: $(PROFCMD)"
|
||||||
./hledgerp +RTS -p -RTS $(PROFCMD) >/dev/null
|
-$(PROFCMD) +RTS -p -RTS
|
||||||
mv hledgerp.prof profs/$(TIME)-orig.prof
|
mv hledgerp.prof profs/$(TIME)-orig.prof
|
||||||
tools/simplifyprof.hs profs/$(TIME)-orig.prof >profs/$(TIME).prof
|
tools/simplifyprof.hs profs/$(TIME)-orig.prof >profs/$(TIME).prof
|
||||||
(cd profs; rm -f latest*.prof; ln -s $(TIME)-orig.prof latest-orig.prof; ln -s $(TIME).prof latest.prof)
|
(cd profs; rm -f latest*.prof; ln -s $(TIME)-orig.prof latest-orig.prof; ln -s $(TIME).prof latest.prof)
|
||||||
echo; cat profs/latest.prof
|
echo; cat profs/latest.prof
|
||||||
|
|
||||||
|
# generate and display an execution profile, don't save or simplify
|
||||||
|
quickprof: sampleledgers hledgerp
|
||||||
|
@echo "Profiling: $(PROFCMD)"
|
||||||
|
-$(PROFCMD) +RTS -p -RTS
|
||||||
|
echo; cat hledgerp.prof
|
||||||
|
|
||||||
# generate, save and display a graphical heap profile
|
# generate, save and display a graphical heap profile
|
||||||
heap: sampleledgers hledgerp
|
heap: sampleledgers hledgerp
|
||||||
@echo "Profiling heap with $(PROFCMD)"
|
@echo "Profiling heap with: $(PROFCMD)"
|
||||||
./hledgerp +RTS -hc -RTS $(PROFCMD) >/dev/null
|
$(PROFCMD) +RTS -hc -RTS
|
||||||
mv hledgerp.hp profs/$(TIME).hp
|
mv hledgerp.hp profs/$(TIME).hp
|
||||||
(cd profs; rm -f latest.hp; ln -s $(TIME).hp latest.hp; \
|
(cd profs; rm -f latest.hp; ln -s $(TIME).hp latest.hp; \
|
||||||
hp2ps $(TIME).hp; rm -f latest.ps; ln -s $(TIME).ps latest.ps; rm -f *.aux)
|
hp2ps $(TIME).hp; rm -f latest.ps; ln -s $(TIME).ps latest.ps; rm -f *.aux)
|
||||||
$(VIEWPS) profs/latest.ps
|
$(VIEWPS) profs/latest.ps
|
||||||
|
|
||||||
|
# generate and display a graphical heap profile, don't save
|
||||||
|
quickheap: sampleledgers hledgerp
|
||||||
|
@echo "Profiling heap with: $(PROFCMD)"
|
||||||
|
$(PROFCMD) +RTS -hc -RTS
|
||||||
|
hp2ps hledgerp.hp
|
||||||
|
$(VIEWPS) hledger.ps
|
||||||
|
|
||||||
# generate and display a code coverage report
|
# generate and display a code coverage report
|
||||||
coverage: sampleledgers hledgercov
|
coverage: sampleledgers hledgercov
|
||||||
@echo "Generating coverage report with $(COVCMD)"
|
@echo "Generating coverage report with $(COVCMD)"
|
||||||
|
Loading…
Reference in New Issue
Block a user