Coders of Carribean Timeouts

I was very astonish when i see timeouts in arena during rerun. So i parse last battles to search for timeout in the top 50.
Here are my results :
reCurse : 0/ 966
Agade : 1/ 1116
pb4 : 7/ 987
Royale : 4/ 1211
Recar : 0/ 995
DerRadikaleRusse : 4/ 1240
Magus : 2/ 1117
miklla : 14/ 1014
Saelyos : 10/ 1095
Commandos : 4/ 975
y_kawano : 0/ 979
nmahoude : 1/ 967
RiSuS : 4/ 965
Neumann : 5/ 822
MCubeDev : 19/ 768
ewgraf : 5/ 909
tsukammo : 1/ 499
schubc : 4/ 663
zasmu : 4/ 404
WhiteCrow : 2/ 349
Avestor : 0/ 290
MickGlover : 2/ 207
DarthPED : 1/ 293
Manwe : 8/ 200
mr-push : 2/ 307
Coac : 4/ 321
SpaceFlyer : 10/ 204
inoryy : 2/ 209
poInT : 0/ 197
Risen : 6/ 194
egaetan : 12/ 207
pbunny : 1/ 190
andry57 : 0/ 199
DN38416 : 3/ 196
dolmen1234 : 2/ 209
femto : 1/ 205
Xyze : 0/ 199
RoboStac : 0/ 194
spaceorc : 0/ 190
Marchete : 1/ 224
Valdemar : 0/ 193
Whitec : 0/ 209
Aveuh : 0/ 201
Daegoth : 0/ 201
Csipcsirip : 0/ 211
SlyB : 14/ 207
Icebox : 4/ 190
Natrem : 0/ 216
mmmd : 0/ 192

are they real code errors or not ? I don’t know but i thought top 50 didn’t failed so often.
Do you have an idea on the subject ?

2 Likes

Very interesting stats.

For the record I had to lower the time given to my GA to find an answer to 43ms (from the time I get the last input to the time I print my commands in stdout), if I tried to go higher than that I had increasingly frequent timeouts.

The fact that the time limit I set is linked with the amount of timeouts makes me think that in my case, timeouts weren’t caused by an exception thrown, but buy actually taking longer than 50ms to reply.

I don’t know if that can help, but I added debug to try and understand the cause of the timeouts, and everytime, I know that I had written in stdout the command for all the ships but the last one when the timeout occured.
I find it unlikely that the timeout would always occur exactly at the last printf, never before. Maybe there was something wrong with my code/the referee’s code in these situations.

Hope it helps :slight_smile:

44ms / turn.
I don’t have 100% test coverage so can’t claim my code is bug free, but I’m quite confident in that my timeouts weren’t caused by crashes.

That said, considering stats like “reCurse : 0/ 966”, I’m guessing there’s something we were doing wrong.

2 Likes

reCurse explain he sets his timer on 40ms to be sure.

My code rely on 45 ± some small part of code not included to this time.

I actually thinking that it can be also related to garbage collector.

Also during one contest I saw some correlation between how big output to Stderr. I have some timeouts, but when I remove Stderr output - they are gone.

I use a timer of 40ms too. But i’m not 100% sure that my code is bug free. I can’t say if my 2 crashes during the rerun are real timeout or just big crashes.