Ah, le petit musée des forks ayant foirés…

Bon, je l’avoue, il ne faut pas prononcé le titre à grande vitesse, sous peine d’avoir quelque chose d’inaudible, ou de tendancieux.

Il est dans la nature du logiciel libre de « forker ». Inutile de revenir sur le fork de Gnome-Shell, suffisamment d’encre électronique a coulé depuis. Non, je pense à un fork – et j’ai pris comme résolution de ne pas être trop grossier – comme celui d’AdBlock plus… Il est vrai qu’il faut forker à cause d’une simple case qu’il suffit de décocher ! Utilisant Mozilla Firefox en anglais, l’interface est en anglais, mais même en anglais, la case à décocher est vraiment immanquable !

Une case à décocher... Et un fork en prime ?

Et faire un fork pour une seule ligne de code, quelle utilité 🙂

En effet, voici ce qu’on peut lire dans le pavé justificatif du fork.

The patch to disable “acceptable” ads by default, is just one line.

Autant dire que c’est à mon humble avis – que d’autres personnes partagent – le fork parmi les plus inutiles que j’ai pu voir récemment, en dehors des dérivées à foison d’Ubuntu car le thème de fond a été changé ou que Mozilla Firefox est remplacé par Chromium ou Opera 🙂

Mais remontons quelques années dans le temps, nous sommes en mars 2004, et le projet Gnome propose la version 2.6 de son environnement, avec une nouveauté qui n’est pas du goût de tout le monde, la navigation en mode spatial.

Par réaction, un fork est créé, nommé « GoneMe » en réaction. Le projet ne vivra que quelques mois, la dernière version datant de juillet 2004.

Autre fork, ayant eu cependant une plus longue durée de vie, c’est la version optimisée de Mozilla Firefox pour la vitesse j’ai nommé « Swiftfox ». Une recompilation, en utilisant des optimisations agressives – abandonnées par les codeurs à l’époque de Mozilla Firefox 3.0 – le tout sous la forme d’un binaire propriétaire… L’ultime version ? Une 3.6.13…

Je n’ai pris que les premiers exemples m’étant venu à l’esprit, car le musée des forks ayant foirés doit être largement plus rempli 🙂

Bon troll-di vendredi ! 🙂

Les options d’optimisation agressives sont-elles inutiles ?

Dans une page de leur wiki les développeurs de Mozilla Firefox et des outils associés déclarent, je cite :

For Firefox 3 builds, please use –enable-optimize without flags.

Our testing has shown that different parts of Mozilla run faster at different optimization levels. For example, cairo, pixman and sqlite are compiled at -O2 because they are fastest at that level while the JS engine is fastest at -Os. [3] Don’t use –enable-optimize as a place to pass in random compile flags. That’s a global setting that sets optimization levels throughout the source tree and is different depending on the module being compiled.

If you still need to pass in other non-optimization flags to the compile, please use CFLAGS and CXXFLAGS instead of passing them to –enable-optimize.

Ce qui donne traduit :

Pour la compilation de Firefox 3, veuillez utiliser –enable-optimize sans options.

Nos tests nous ont montrés que les différentes parties de Mozilla sont plus rapides à différents niveaux d’optimisation. Par exemple, cairo, pixman et sqlite sont compilé en -O2 car ils sont plus rapide à ce niveau tandis que le moteur JS est plus rapide avec -Os. N’utilisez pas –enable-optimize comme un endroit pour insérer des options de compilations divers. C’est un réglage global qui définit les niveaux d’optimisation tout au long du code source et il diffère en fonction du module qui est compilé.

Si vous avez toujours besoin de passer des options de non optimisation au moment de la compilation, veuillez utiliser CFLAGS et CXXFLAGS au lieu d’utiliser la ligne –enable-optimize.

Continuer la lecture de « Les options d’optimisation agressives sont-elles inutiles ? »