dplyukhin / UIGC

A garbage collector for Akka actors!
Other
4 stars 2 forks source link

Reducing CRGC memory usage #41

Open dplyukhin opened 10 months ago

dplyukhin commented 10 months ago

Garbage collectors should have a low memory footprint. CRGC also processes large amounts of data, and performance improves when that data is packed tightly together--see Andrew Kelley's excellent talk on data-oriented design for a primer: https://vimeo.com/649009599

This project is about profiling CRGC to find the main sources of memory overhead and finding creative ways to reduce that overhead. I have one idea about a source of overhead, and it involves hash maps!

First steps: Learn how to profile the memory usage of a JVM application. Run the profiler on some of our benchmarks, and leave a comment interpreting the results.

dplyukhin commented 5 months ago

One way to reduce memory usage may be to use specialized data structures, avoiding boxing overhead. fastutil is a good place to look for existing implementations.

dplyukhin commented 1 month ago

Another good library used by Akka is Agrona: https://github.com/real-logic/agrona