borrando una pequeña matriz de enteros: memset vs. for loop

Hay dos formas de poner a cero una matriz entera / flotante:

memset(array, 0, sizeof(int)*arraysize);

o:

for (int i=0; i <arraysize; ++i)
    array[i]=0;

Obviamente, memset es más rápido para grandes.arraysize. Sin embargo, ¿en qué punto es la sobrecarga de memset realmente mayor que la sobrecarga del bucle for? Por ejemplo, para una matriz de tamaño 5, ¿cuál sería la mejor? La primera, la segunda, o tal vez incluso la versión no enrollada:

array[0] = 0;
array[1] = 0;
array[2] = 0;
array[3] = 0;
array[4] = 0;

Respuestas a la pregunta(4)

Su respuesta a la pregunta