The Terasology Foundation

Write a tutorial for profiling basics

Profiling tools help indentify and fix performance issues. Terasology currently has run configurations for Java FlightRecorder and the YourKit profiler. This task would entail creation of a tutorial style repository to help developers get started with profiling Terasology. The wiki should have examples of badly written code, how to identify flaws using a profiler and methods to improve the code.

This can be developed into a task series going through all the steps from starting up a profiler to implementing a solution.

Acceptance Criteria

  • A wiki page detailing how to start using FlightRecorder or YourKit with Terasology
  • A wiki page detailing an example of a particular common flaw, how to detect it using the profiler and a potential fix

Where to Start

See Also

  • Another task is about using a profiler to detect and investigate an actual performance bottleneck in the game and can be found here
  • This task can be easily built upon to provide more documentation for profiling stuff or optimizations, if you have any ideas for such work, just let us know, and we might be able to provide you with specific GCI tasks
  • Understanding and optimising string operations is usually a good place to start. Read up more on Strings in Java here

Note: This is a multi-instance task - other students can pick it too and might end up fixing the same reports. Take a look at pending PRs in the relevant repo before submitting yours; if another student has already fixed some issues in the same classes as you, you may need to change what you're fixing or wait till the earlier work is merged, then adjust what you're adding.

Task tags

  • Terasology
  • profiling
  • Java

Students who completed this task

PAndaContron

Task type

  • chrome_reader_mode Documentation / Training
  • done_all Quality Assurance
close

2019