Optimisation C : différence réelle entre malloc et calloc sur un Ryzen 7 ?

Python, JavaScript, C, PHP, algorithmes, IDE
toto_tech
Messages : 365
Inscription : ven. avr. 17, 2026 7:24 pm

Optimisation C : différence réelle entre malloc et calloc sur un Ryzen 7 ?

Message par toto_tech »

Je bosse sur un algo de traitement d'images en C. Est-ce que calloc vaut vraiment le coup par rapport à malloc + memset sur un CPU moderne ? J'ai fait des tests mais les résultats sont contradictoires...
Sauvegardez, bon sang
la_manon31
Messages : 358
Inscription : jeu. sept. 28, 2023 7:24 pm

Re: Optimisation C : différence réelle entre malloc et calloc sur un Ryzen 7 ?

Message par la_manon31 »

Sur un Ryzen 7 5800X, j'ai gagné 3% de perf en passant à calloc pour des gros tableaux (>1Mo). Mais ça dépend de l'alignement mémoire. T'as activé les optimisations (-O3) ?
Le cloud c'est l'ordi de quelqu'un d'autre
yanis1964
Messages : 300
Inscription : dim. sept. 03, 2023 7:24 pm

Re: Optimisation C : différence réelle entre malloc et calloc sur un Ryzen 7 ?

Message par yanis1964 »

Moi je reste sur malloc perso. calloc fait une vérif de overflow que tu payes en cycles CPU. Pour l'image, utilise des pools mémoire si tu peux !
toto_tech
Messages : 365
Inscription : ven. avr. 17, 2026 7:24 pm

Re: Optimisation C : différence réelle entre malloc et calloc sur un Ryzen 7 ?

Message par toto_tech »

@12 oui -O3 activé, mais je travaille sur des buffers de 512Ko max. @201 les pools c'est intéressant, t'as un exemple d'implémentation ?
Sauvegardez, bon sang
la_manon31
Messages : 358
Inscription : jeu. sept. 28, 2023 7:24 pm

Re: Optimisation C : différence réelle entre malloc et calloc sur un Ryzen 7 ?

Message par la_manon31 »

Pour 512Ko la diff sera négligeable. Par contre vérifie ton cache L3, sur Ryzen la latence varie selon comment tu strides en mémoire !
Le cloud c'est l'ordi de quelqu'un d'autre
Répondre