Lionel Debroux (./26) :
./18: comment peux-tu à la fois nous reprocher de faire du code expérimental non testé / non documenté et nous reprocher de ne pas releaser tout de suite des modifications même pas finies et dont on n'a pas encore testé la correction ??Comme le public, tu auras les modifs quand elles seront utilisables. C'est pas affreux, quand même !
Je n'ai jamais dit que j'allais merger les patches en l'état actuel.

Git permet effectivement les gros drops de code. Mais ce n'est pas une obligation.Sur Wine-devel, j'ai vu par plusieurs fois durant le GSoC le conseil donné aux étudiants de ne pas envoyer plus d'une dizaine/douzaine de patches à la fois, parce qu'il y avait souvent quelque chose à changer dans les premiers patches.
Mais ce genre d'avertissements ne sont pas nécessaires à ce point avec les systèmes centralisés, où il suffit de rappeler "commit early, commit often" et ça implique automatiquement la publication.
Git permet aussi la réécriture d'historique. Ca, c'est carrément bien pour modifier ses séries de patches tant qu'elles ne sont pas prêtes, plutôt que de committer du code pas bien fini et des bugfixes par dessus.
Ça s'appelle fausser l'Histoire.
./19: encore une fois - comme je te l'ai d'ailleurs déjà reproché dans l'autre topic à propos d'un autre aspect touchant aux contributions - tu ne racontes que la partie de l'histoire qui t'arrangeJe maintiens qu'il y a un subset des contributions qui est facile à intégrer.
Le subset en question a déjà été intégré il y a longtemps.
Bidouillage peut-être, mais code plus petit, évidemment correct, moins consommateur de registres. Un poil plus lent, mais dans le code de SAVE_SCREEN, OSEF carrément.
Ça n'empêche pas qu'il faut faire la modification, la tester (les fautes de frappe, ça existe), écrire des entrées dans l'historique etc., tout ça pour combien d'octets? 2? 4? Je ne comprends pas votre obstination à gagner une place aussi minime, alors qu'il y a de quoi gagner beaucoup plus de place, par exemple les améliorations que j'ai faites à -Os, genre les tests séquentiels plutôt qu'en arbre équilibré pour les switches. Ça ne sert à rien de gagner 2 octets sur un programme de plusieurs KO!
Je me souviens d'une peephole optimisation des pushes sur la pile - moins efficace que celle implémentée par Pollux dans GTC, d'ailleurs
Moins efficace comment? Exemples de code généré?
que tu as mis un certain temps à implémenter après que je te l'aie reportée
Parce que ce n'est pas trivial de coder un peephole! D'ailleurs tu as bien remarqué que l'optimisation a posé quelques problèmes, aurais-tu préféré une solution expédiée et encore plus boguée?

alors qu'elle peut gagner des centaines d'octets sur les programmes utilisant beaucoup de __stkparm__ - on est dans le cadre de l'optimisation par GCC que tu décris.
C'est bien pour ça que cette optimisation a été implémentée contrairement aux microoptimisations que Martial (alias Folco) et toi revendiquez actuellement.
Quand tu l'as enfin fait, tu as codé avec de l'arithmétique sur des nombres signés (ce qui est pourtant une source connue d'embêtements), de telle sorte que le code généré dans ebook crashe une fonction de dialog/menu qui n'apprécie pas qu'on lui passe un argument négatif...
Oui, j'ai fait une erreur de programmation. Le codeur infaillible n'existe pas. Et oui, j'ai corrigé l'erreur aussitôt que possible (au moins un des bogues des peepholes a été corrigé moins de 24 heures après avoir été reporté! Je veux voir un tel temps de réaction pour un bogue non-trivial dans un de tes projets) et envoyé le correctif à toutes les personnes concernées dès qu'il était disponible, donc la disruption était minime.
Le test, par sa nature non exhaustive, n'aurait pas forcément sorti ce bug - mais la taille ridicule de ta suite de test n'aidait pas. Tu n'as pas fait mieux que Microsoft, qu'on accuse souvent à raison de fournir des programmes buggés et de les faire debugger par ses utilisateurs après la release.
Effectivement, les utilisateurs sont tenus participer aux tests, c'est bien pour ça que les versions en question sont des bêtas. Pour GCC, j'ai même fait des "bêtas pour les bêtas". Je ne peux pas tout tester moi-même.
Mais une optimisation qui économise des centaines d'octets vaut le coup de risquer une telle régression, une optimisation qui économise 2 octets non.