I'm looking for some code or some benchmark to roughly asses the pause times or cpu load caused by some GC in order to get some rough estimate how efficient it is. I just want to see whether some GC has really large pause times or not. That would be sufficient.
Some language like Java or C# allow for lots of logging information to be written to the console which can then be analysed. But for some open source languages without commercial backing from some large company this is often not the case.
So in order just to get some rough estimate I would run some code that does some arbitrary computation like running the number crunching code of some benchmark. Then I would load the heap in parallel with a lot of data like creating large arrays of strings, because strings consume a lot of memory and the GC will somewhen be forced to free memory and then I can have a look how long the execution time is taking with causing pressure on memory and without.
My question is whether someone has some idea for a better approach. Maybe some GC benchmark code exists that I can adapt to the respective language.