Garbage Collection has gotten out of hand
-
GC behavior in screeps seems to have shifted pretty significantly in the last few months. Previously, GC events seemed to take around 30-40 cpu and were easily absorbed by the bucket. These days, I am seeing regular spikes of up to 150 cpu.
Here is a sample of what I'm seeing: http://imgur.com/a/cF4IR
This tool makes a note of any process taking significantly longer than it usually takes. It shows pretty regular spikes (5-10 min apart) in the 100-150 cpu range. I've gone through this log to see if there are any regular offenders, and that doesn't seem to be the case. Each process has a roughly equal chance of spiking, which makes me think it is GC. Dissi also mentions having GC events in the same range in this thread,
I am seeing a lot of reports from people being hit by the hard resets. Is there anyone NOT getting these? They have a pretty significant impact on gameplay. When you trying to outheal 6 towers, it is pretty much a death sentence. I'm fully willing to accept the possibility that the problem lies entirely somewhere in my code. But it seems a little strange that everyone seems to be effected.
If there is any chance that the hard resets are caused by something outside of the scope of your code, I seriously encourage the devs to get rid of them. In theory, I love the idea behind encouraging better code for the sake of server stability, but if there is actually no way to tell whether the problem lies with the coder, it defeats the purpose and causes a lot of frustration.
I think it is safe to assume I'm a screeper for life, but this really takes a lot of the motivation out of coding these days. The hard resets takes conquest on any properly defended RCL8 room from a near-impossibility to a total-impossibility.