CBlock::AcceptBlock() in main.cpp calls Checkpoints::CheckSync() which walks the block chain from the current hight back to the last checkpoint. As far as I understand the white paper, NeuCoin doesn't use checkpoints, causing CheckSync() to actually walk (almost) the entire block chain. This is also supported by live data:
harald@hdev:~$ neucoind getcheckpoint
{
"synccheckpoint" : "0000002116c928d1b212578d6d13ada478bb22cc7f82c38a743ee60,
"height" : 600,
"timestamp" : "2015-09-20 11:20:37 UTC"
}
This is not a problem yet (though it consumes some ressources) but it might be abused for DoS attacks. I recommend removing the call to Checkpoints::CheckSync() from CBlock::AcceptBlock() before the next release of neucoin.