Do we really need to use calloc everywhere? Initializing all of that memory to zero when it is not needed can't help our speed.