Garbage collection / allocation performance tests for C# / .NET and Go.
Description and results
Please see Go vs C#, part 2: Garbage Collection.
Other useful links:
- Raw test-all output for a set of machines can be found in the "results" folder
- The spreadsheet summarizing the most important metrics.
- Install .NET Core SDK: https://www.microsoft.com/net/download
- Install Go: https://golang.org/doc/install?download
To run a single test, use
--help option shows all other options you can use.
To run a sequence of tests, use
Test-All.bat scripts, and likely, that's the way you want to run it. There are two options:
-o OUTPUT_SUFFIX_STRINGchanges the names of its output files from
-d DURATION_IN_SECONDSsets the duration of a single GCBurn test pass. The default duration is 2 minutes - we've found it's almost always enough to catch long Gen2 GC pauses on this test; besides that, setting it to larger values tends to crash Go more reliably on "Static set = 50+% RAM" test cases.
If you are willing to translate the test to another language (e.g. Java) and share your findings, it would be simply amazing. Please contact me on Facebook if you need any help with this.