Voici par exemple strcmp() que j'ai essayé de programmer mais elle est trop lente :
unsigned char FastStrCmp(const char *str_1, const char *str_2)
{
unsigned int i;
i =0;
while((str_1[i] == str_2[i]) && (str_1[i] && str_2[i]))
i++;
return (str_1[i]==0 && str_2[i]==0);
}
Et voici ma fonction strlen() :
unsigned int StrLen(const char *str)
{
unsigned int i=0;
while(str[i++]);
return i-1;
}
Au début je pensais que les fonctions de TIGCC assez lentes et qu'il serait facile d'en programmer des plus rapide mais vu qu'en moyenne elles sont trois fois plus rapide que les miennes, ce n'est pas trop le cas !

Alors je voulais savoir si en C il y avait moyen de d'obtenir des fonctions plus rapides que celles utilisées par TIGCC ?
Et puistant qu'à faire voici la fonction la plus utilisé dans mon programme :
unsigned int FindNextChar(unsigned char Char,unsigned int current_position,unsigned char *buffer)
{
unsigned long len=strlen(buffer);
while(buffer[current_position]!=Char && current_position<len)
{
current_position++;
};
return current_position;
}
C'est une fonction qui cherche le prochain caractère Char dans la chaine buffer à partir de la coordonnée current_position.
Si quelqu'un sait comment optimiser ça en C ça serait génial. Et si en C vous pensez que ça ne se peut pas mais que vous connaissez des routines asm, je prends aussi !
