cpuConstant

Jump to navigation Jump to search

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.

Beaming (talk)03:46, 17 October 2017

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.

Xor (talk)04:05, 17 October 2017

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.

Beaming (talk)04:34, 17 October 2017

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Users.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page.

Return to Thread:User talk:Beaming/cpuConstant/reply (5).

 

You mean the robocode properties file says CPU constant = 6ms?

Xor (talk)04:47, 17 October 2017

I did a bit of rounding but yes. Also, this is the number which I get if ask GUI to recalculate cpuConstant.

Beaming (talk)15:03, 17 October 2017
 

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.

MultiplyByZer0 (talk)21:03, 17 October 2017

Ok. I see why skipped turn event is not fired. But the wildly fluctuating cpu constants is still under the question. The cpu constant calculation is done within one call: it just long loop with heavy math.

Unless GC kicks in at random I see no explanation for it. The problem that it probably does it during the round as well, since I see wildly fluctuating timing in my profiler.

Beaming (talk)21:38, 17 October 2017