I guess my insistence on trying to not do it serially (process one block at a time) actually made it worse.