use md5 (faster) and avoid locking to check cache