calloc v/s malloc et l'efficacité dans le temps

J'ai lu avec intérêt le post C de différence entre les malloc et calloc. Je suis à l'aide de malloc dans mon code et je voudrais savoir quelle différence je vais devoir utiliser calloc à la place.

Mon cadeau (pseudo -) code avec malloc:

Scénario 1

int main()
{  
   allocate large arrays with malloc

   INITIALIZE ALL ARRAY ELEMENTS TO ZERO

   for loop //say 1000 times
    do something and write results to arrays
   end for loop

   FREE ARRAYS with free command

} //end main

Si j'utilise calloc à la place de malloc, puis je vais avoir:

Scénario 2

int main()
{  

   for loop //say 1000 times
    ALLOCATION OF ARRAYS WITH CALLOC 

    do something and write results to arrays

    FREE ARRAYS with free command

   end for loop


} //end main

J'ai trois questions:

  1. Lequel de ces scénarios est plus efficace si les tableaux sont très grandes?

  2. Lequel des scénarios sera plus efficace si les tableaux sont très grandes?

  3. Dans les deux scénarios,je suis en train d'écrire des tableaux dans le sens que pour chaque itération de la boucle for, je suis en train d'écrire chaque matrice de façon séquentielle à partir du premier élément au dernier élément. La question importante: Si je suis en utilisant malloc comme dans le scénario 1, alors est-il nécessaire que j'initialise les éléments à zéro? Dire avec malloc j'ai matrice z = [garbage1, garbage2, les ordures 3]. Pour chaque itération, je suis en train d'écrire les éléments de manière séquentielle c'est à dire dans la première itération-je obtenir z =[some_result, garbage2, garbage3], dans la deuxième itération I au cours de la première itération-je obtenir z =[some_result, another_result, garbage3] et ainsi de suite, alors j'ai besoin spécifiquement pour initialiser mes tableaux après malloc?

double possible de stackoverflow.com/questions/1538420/...
Oui, c'est pourquoi j'ai mentionné que j'ai lu l'autre post. Je voulais être un peu plus précis ici.
Avez-vous mesuré? Quels ont été les résultats sur votre machine?
Pas encore de. Je serai de retour à écrire si il y a des différences.
Voici un lien (plus tard) la question qui obtient pourquoi calloc peut être beaucoup plus rapide (10x) que malloc+memset. stackoverflow.com/questions/2688466

OriginalL'auteur yCalleecharan | 2010-04-09