Posté par barmic .
En réponse au journal Parlons C, parlons pipe !.
Évalué à 3.
Dernière modification le 21 août 2012 à 15:47.
Dans toutes tes fonctions tu gère les paramètres NULL comme ça :
voidmy_function(SmallFifo*f){if(f==NULL)return;/* le reste de la méthode */}
Je comprend bien le coté esthétique, mais n'est-il pas plus performant (si on considère que l'utilisateur va plus souvent t'envoyer un pointeur valide qu'un NULL) d'écrire :
voidmy_function(SmallFifo*f){if(f!=NULL){/* le reste de la méthode */}else{returnNULL;}}
Si je ne me trompe pas ça diminue les erreurs de prefetch d'instructions par la CPU (je crois savoir que c'est important sur des CPU avec un pipeline long comme les P4, je ne sais pas si c'est valable sur ton micro-controlleur.
PS : à la réflexion la condition est un peu plus lourde donc peut être que c'est pas si bien que ça.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
# Gestion des paramètres
Posté par barmic . En réponse au journal Parlons C, parlons pipe !. Évalué à 3. Dernière modification le 21 août 2012 à 15:47.
Dans toutes tes fonctions tu gère les paramètres
NULLcomme ça :Je comprend bien le coté esthétique, mais n'est-il pas plus performant (si on considère que l'utilisateur va plus souvent t'envoyer un pointeur valide qu'un NULL) d'écrire :
Si je ne me trompe pas ça diminue les erreurs de prefetch d'instructions par la CPU (je crois savoir que c'est important sur des CPU avec un pipeline long comme les P4, je ne sais pas si c'est valable sur ton micro-controlleur.
PS : à la réflexion la condition est un peu plus lourde donc peut être que c'est pas si bien que ça.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)