[CDG] tout peut s'optimiser!

On est bien d'accord, la team a du mérite d'avoir su monter la mayo arduino, mais avec tous les développeurs qu'ils ont maintenant sous la main, ils pourraient gagner à faire bosser les gens qui savent. Tout est une affaire de $$$$.

skywodd:

Super_Cinci:
Il faudra que j'essaie ton int main(), ça m'intrigue... C'est fait. 316 octets contre 682 avant. Reste que sur les 316, il doit y en avoir encore de trop, non? et s'il a reconnu mon DDRF, c'est donc qu'il y a des #include cachés qui trainent encore.

Ha ba tient, voila un exemple parfait de mon commentaire sur les optimisations LTO.
Avec un AVR-GCC à jour j'obtiens 458 octets de base et 148 octets en mode éditeur de texte.
Comme quoi il serait bon que la team arduino se bouge un peu pour ça.

J'ai créé mon cinciduino. J'ai copié le UNO dans boards.txt en changeant le répertoire build.core avec un nouveau dans lequel j'ai mis main.cpp, arduino.h, io.h, sfr_defs.h, iom328p.h, inttypes.h et stdint.h, tous repris en virant un max de trucs (surtout les #include). Normalement, il ne me reste que les defs des types, registres et interruptions, soit que des #define.

compilation du même code avec la carte UNO habituelle : 476 octets en 5 secondes
avec la carte cinciduino UNO : 194 octets en... ben ça a été tellement rapide, j'ai pas eu le temps de compter...

Je suis en bonne voie... C'est donc depuis le main.cpp que tout se joue, et j'ai réussi (enfin je crois)...