Weird rumble scores
I think you are right. Clients should be allocated with one extra core for GC to be ran on background. Forcing full GC each round could also be added to rumble client.
And I think the extra core should be enforced by rumble clients
Anyway the optimal cpu ratio needs some experiments, but battles seems to run even faster when some cores are dedicated for GC.
And I’m not sure whether rumble clients shall be restarted after many battles. If there were some memory leaks in robocode, performance will drop overtime, resulting APS drop in newer bots.
It's not per-round so much as per-battle, but I will note that Robocode does make some System.gc calls at end of battle.
It's also the case for a very long time I've been in a habit of including System.gc() in the constructor of my bots, so that'd end up being per round.