Think Time Doesn't Change Anything!


So I set the think time to 1 second but it still takes about 5 seconds to make a decision! It takes the same amount of time regardless of what time I set it to!

How can I fix this?


Mitchell White

Hi Mitchell!

There are a couple factors that make the request take a few seconds longer than the “think time” setting.

There are a lot of servers that are involved for a single calculation – the request first hits to a load balancer, actually gets routed to another load balancer from there, and winds up on one one of the D-1540 servers that happen to be idle at the moment.

Also there’s the database server which is in another data center, so there’s some added latency there.

Sometimes during peak hours, there’s an extra fraction of a second added while NCM waits for a D-1540 server to become free, but the queue is usually short. I just checked, and the average “wait time” over the past 1000 requests is 64ms (0.064 seconds) which is pretty typical.

So, those are some of the reasons why a request for a 1 second calculation takes longer than 1 second!

One thing you can do to see see that the engine is actually spending the requested amount of time calculating the move is to click the “Stockfish” link under the move text. Towards the bottom of the output, you should see a line like this

info depth 22 seldepth 32 multipv 1 score cp 1049 nodes 40732736 nps 8143289 hashfull 294 tbhits 0 time 5002 pv e2e4 c7c5

The “5002” means the engine spend 5002 ms “thinking”, so just over 5 seconds.

Best I can tell, there’s about 3 seconds of overhead, so a 1 second calculation is taking about 4 seconds, and a 5 second calculation is taking about 8.

I’ll see what I can do to reduce some of the extra latency! There’ll always be some, but I’m sure there’s room for improvement.

  • chad