I've created a Flamegraph of my chess program, see attached html-file (must be renamed).
I think it looks really cool and can be very useful for profiling the application!
- eval-function costs about 33%
- generating moves about 27%
- quiescence about 21%
- sorting about 9%
- SEE-function about 3%
Some extra info
- engine is written in java
- elo-score is about 2000-2100
- search was done till a depth of 12 and aborted when enough stack-dumps were created
- calculation was started at the chess start position
- LMR, IID, null-move and check-extensions were disabled because I wanted to focus on a 'clean' depth
- I used an NPM module called javaFlameGraph to create the graph (some hacking was needed...):
- method-inlining was disabled to show more info. this does influence the relative performance figures but not that much
What do you think?!