MovingBlocks / Terasology

Terasology - open source voxel world
http://terasology.org
Apache License 2.0
3.66k stars 1.33k forks source link

Tutorial: Performance profiling setup and how to hunt improvements #3572

Open Cervator opened 5 years ago

Cervator commented 5 years ago

We need to make the process of finding and implementing performance improvements more approachable. We already have support for YourKit and the Java FlightRecorder - search around in issues and the wikis. For instance see #3469 and #3475

I think some notes were added somewhere, but I forgot where. @theobisproject do you recall?

This area seems worthy enough to dedicate a tutorial repository for. With some simple benchmarking examples and examples of poorly performing code that triggers something very obvious in a profiler and then some general ideas of how to improve it (and examples in code that show the difference)

Cervator commented 5 years ago

Profile some code to improve performance and plug leaks - focus on JoshariasSurvival

theobisproject commented 5 years ago

@Cervator Besides the content of the 2 Pull requests you mentioned I didn't documented anything else. Have you searched for a specific information? In addition to profiling a section about Java heapdump analysis with e.g. Eclipse Memory Analyzer or YourKit could also be helpful if the process crashes with an OutOfMemory error.

Cervator commented 5 years ago

Belated heya again @theobisproject :-)

Yeah I wasn't sure if there was any more docs to look for. Thanks for clarifying! I don't think I'm actually failing to find something, we just haven't written a lot on the topic yet.