Во бред boost::src выполняется в разы медленне чем это:

template< size_t N >
DWORD GetCRC2( HANDLE h, DWORD allLen )
{
DWORD readed;
char buffer[N];
boost::crc_my result;
UINT curLen;

DWORD crc = 0xFFFFFFFF;

while( allLen )
{
if( allLen < N )
curLen = allLen;
else
curLen = N;

ReadFile(h,buffer,curLen,&readed,0);
allLen -= curLen;
//while(curLen--)
for(UINT i =0; i<curLen;++i)
crc = CRC32Table[(crc ^ buffer[i]) & 0xFF] ^ (crc >> 8);
}

return ~crc;
}

странно