cpuConstant
Yes with Turbo Boost, CPU speed is not constant ;) And I think every new CPU should have something like that.
I would expect the cpuConstant go lower as turbo kicks in. But my first run usually gives lower number (faster speed), and consequent executions typically but not always are longer/slower.
In either case it is a problem. Recall recently discussed ThreadDeath issue.
Do you relay highly on GC? I mean do you create objects in loops? If the speed gets slower, I can only guess that would be GC.
Well, I do have many HashMaps and several kdTrees but the fact that Java kicks in with GC at random times is certainly an issue. The init round should be relatively low CPU event on my bot part.
Strange part is that robocode does not report 37 mS long execution as a skipped turn while my "official" cpuConstant is about 6mS.
Robocode gives robots extra time at the beginning of a round. In addition, most of this time is probably taken away by one-time setup and initialization code, making your calculated CPU constant longer than it should be.