Citation :
voilà :
Code :
/* count number of roms found that are unique to clone */
for (i = 0; i < count; i++)
if (!audit_is_rom_used (gamedrv->clone_of, aud[i].exphash))
{
uniqueRomsFound++;
if (aud[i].status != AUD_ROM_NOT_FOUND)
cloneRomsFound++;
}
donc ça c'est du code scolaire avec la variable local i qui est en trop on peut faire comme ça...je dis pas qu'il n'y a qu'une seule solution non plus...
Code :
/* count number of roms found that are unique to clone */
for (uniqueRomsFound = 0; uniqueRomsFound < count; uniqueRomsFound++)
if (!audit_is_rom_used (gamedrv->clone_of, aud[i].exphash))
{
if (aud[i].status != AUD_ROM_NOT_FOUND)
cloneRomsFound++;
}
utiliser la vériable uniqueRomsFound directement comme paramètres de la boucle, cela évite de bouffer de la mémoire en plus...et en plus quand tu sors de la boucle ta variable uniqueRomsFound a été incrémenté par la boucle FOR qui sera égale au nombre de rom trouvées...
bref après là je prend un exemple d'un tout petit truc à optimiser mais le code de MAME est énorme...et ya d'autres trucs comme ça...
bon le truc c'est ça c'est une boucle dans un des nombreux module de MAME, avant que vous fassiez des commentaires sur l'aspect minimale de la modif...et en sachant que "ce genre de boucle" est reproduit plein de fois dans les modules, enfin je généralise...et plus particulièrement ya des modules comme celui d'audit qui est multithreadé donc duppliqué en plusieurs instances...
Donc vous comprenez maintenant pourquoi (comme windows héhé) les dév ne veulent pas tout néttoyé car cela prend du temps de toucher aux petits détails qui montre de suite si un prog a été optimisé ou pas...
PS : ceci est un exemple de modif qui nécessite des modif par répercussions sur d'autres fonctions...alors mettre ma boucle dans votre code de mame ne marchera pas hein

Ta correction est completement stupide. Fonctionnellement le code n'est plus le meme. Le resultat des deux blocs de code n'est pas le meme. Dans le code d'origine, la variable uniqueRomsFound ne sera incrémentée que si le test est validé. Or dans ton code, elle est incrémentée à chaque itération...
De plus, meme si fonctionnellement c'était équivalent, ta correction n'apporte rien en termes de vitesse car la complexité du code reste strictement la meme.
Enfin pour ce qui est de ton PS qui précise "ceci est un exemple de modif qui nécessite des modif par répercussions sur d'autres fonctions...", c'est aussi stupide que ta correction. Ton code est mauvais, point barre. Cherche pas à embrouiller les personnes qui ne connaissent rien en developpement avec des remarques bidon comme ca ...