logo

Amélioration des performances


De grosses parties de code mort ont été enlevées de la suite, réduisant la taille et la surcharge du code. De vieux formats de fichiers binaires ont été enlevé de Write afin de ne plus surcharger le logiciel avec ce qui ne sert plus. Pour Calc, là aussi, il y a
encore un mot d'ordre, ou plutôt trois : performance, performance, performance...
LibreOffice est si rapide que Calc dépasse pour la première fois Excel en performance pure !

Calc, plus rapide qu'Excel ?


Alors que Calc, le tableur de LibreOffice, n'était pas réputé pour sa grande performance, la nouvelle version apporte de bonnes nouvelles. Cela a été possible grâce au caractère Open Source du projet : de nombreux développeurs volontaires et à plein temps ont coopéré pour améliorer la rapidité de l'ouverture de documents avec de nombreuses lignes, feuilles et formules. Nous pouvons le lire sur le blog de Kohei Yoshida, un des principaux développeurs de Calc et un contributeur majeur de LibreOffice depuis le début du projet. De nombreux tests ont été postés dont certains montrent que Calc est jusqu'à deux fois plus rapide que Excel sur certaines tâches.
Kohei Yoshida souligne quant même qu'une telle victoire sur Excel ne concerne qu'un cas et qu'il y a de nombreux endroits où LibreOffice mériterait des améliorations : « Mais nous travaillons trè dur à améliorer les structures internes de manière à apporter une bien meilleure performance dans les versions futures. Je suis confiant pour ce qui concerne les performances de Calc. »

Réjouissons-nous, c'est déjà l'occasion de faire une petite fête. Mais allons plus avant.
Le filtre ODS d'import de LibreOffice a été mis à jour pour être beaucoup plus rapide
« Laurent Godard, Markus Mohrhard, et … ont travaillé dur ce mois dernier pour améliorer les performances du filtre d'import ODS, spécialement pour les documents contenant un grand nombre de lignes.


Voici l'histoire. Laurent utilise LibreOffice comme plateforme pour son extension professionnelle qui utilise énormément les lignes. Il génère automatiquement des documents ODS et insère des centaines et des milliers de lignes comme stockage intermédiaire pour analyser les données ensuite. Le problème était que les performances d'import de ce genre de document étaient si faibles que ce processus prenait un temps beaucoup trop long. Pour que son extension fonctionne de manière optimale, notre filtre d'import ODS devait être optimisé, et devait l'être sacrément. »
Le développeur ajoute :

« Durant la conférence de Paris, nous nous sommes rencontrés et avons uni nos forces afin de réaliser ce vœu. Laurent était très motivé par ce défi et a accompli un travail extraordinaire à analyser le code pour imaginer des stratégies d'optimisation. Markus et moi l'avons encouragé et un peu aidé à coder afin d'accélérer son effort.
Nous espérions réaliser tout cela avant la sortie de la version 3.5. Et je suis très heureux d'annoncer que nous avons réussi ! »

Quelques Benchmarks



Le premier document test, global500 contient 500 feuilles, 12500 lignes globales et 12 500 formules qui les référencient.
Sur la machine de test, la version 3.4.4 de LibreOffice ouvre le document en 14 secondes. La version 3.5 de LibreOffice ouvre ce document en 2 secondes et demie ! C'est à peu près 86 % de réduction du temps d'importation !

Calc : LibreOffice optimisé plus rapide qu'Excel

Le second document test, global1000 contient 1000 feuilles, 25 000 lignes globales et 25 000 formules qui les référencient.
Dans les mêmes conditions, la version 3.4.4 de LibreOffice ouvre le document en 50 secondes. La version 3.5 de LibreOffice ouvre ce document en 5 secondes à peu près. C'est à peu près 90 % de réduction du temps d'importation. Très impressionnant !

Calc plus rapide qu'Excel

En résumé : nettoyage du code mort, des fonctionnalités inutiles, amélioration de l'import de document Excel, de documents ODS : la nouvelle version de Calc est sur la bonne voie pour devenir une alternative, comme on dit, ou un concurrent crédible et puissant à l'indéboulonnable Microsoft Excel.

LibreOffice et Lion : les premiers pas



overview_callout_osx
Pour compiler LibreOffice pour Mac, il faut officiellement XCode 3 avec le SDK de Tiger (version 10.4). De manière à travailler plus facilement avec nos machines d'aujourd'hui fonctionnant sous Lion et XCode 4, du travail est encore à faire pour pouvoir compiler LibreOffice avec les derniers outils d'Apple. L'intérêt est autant de simplifier la compilation que de commencer à apporter des optimisations propres aux derniers compilateurs d'Apple. En effet, LibreOffice peut être compilé sous Lion avec LLVM GCC et même Clang 2.1. Le processus de compilation est plus rapide et le code compilé avec Clang devrait être plus léger et plus rapide : on le saura quand il ne plantera pas au lancement de la suite... Sur cette page le développeur explique avoir compilé LibreOffice sous Lion avec la dernière version du compilateur d'Apple : Clang 2.1. Cependant, XCode 4 compile correctement LibreOffice avec la version 4.2 de GCC (non LLVM) et le binaire obtenu se lance et fonctionne correctement. Mais du progrès est fait de ce côté là aussi.

Avec quelques modifications ici et là, et à l'exception de 10.7, tout se passe bien, et la suite construite avec le SDK de 10.6 semble fonctionner correctement.

La compilation à l'aide du SDK 10.7 échoue parce que la version Mac de LibreOffice utilise encore des API qui étaient déjà dépréciées dans 10.4 et qui ont finalement été écartées du SDK de 10.7. Voilà un exemple du triste état de notre code Mac.

Du travail a été accompli afin de compiler LibreOffice sur un Mac Intel à l'aide du SDK 10.6 mais avec comme cible Mac OS X 10.4 de manière à pouvoir travailler sur un Mac récent ; il ne serait plus obligatoire d'installer le vieux XCode 3 (avec les SDK 10.4 et 10.5) et ensuite par dessus XCode 4 (avec les SDK 10.6 et 10.7).

Rêvons, mais dans quelque temps ce sera possible d'avoir un LibreOffice compilé sur un dernier Mac à l'aide de Clang à destination des tous derniers modèles mais aussi de pouvoir garantir la compatibilité avec les plus anciennes machines.

Interview de deux développeurs LibreOffice



Pour éclairer encore un peu plus le cheminement de LibreOffice depuis la séparation d'avec OpenOffice, l'évolution du code et des fonctionnalités, j'ai trouvé les deux interviews suivantes particulièrement intéressantes:

« On a hérité d'un code vieux de plus de 15 ans. Les foncitonnalités n'étaient pas implémentées et les bugs n'étaient pas réglés par crainte de créer d'autres problèmes. Tout ceci, avec le temps, était à l'origine d'un grand retard technique. » dit Caolán McNamara développeur senior chez RedHat. « On avait deux options : une stratégie conservatrice qui contenterait immédiatement tous les utilisateurs en laissant le code grosso-modo inchangé, et la voie que nous avons choisie de rénovation du code et de l'ajout important de fonctionnalités. Cela a créé quelques problèmes de stabilité dans le court terme mais a rapidement conduit à une suite nouvelle et singulièrement améliorée : LibreOffice 3.5, la suite bureautique libre et gratuite, la meilleure qui ait jamais existé ».

« En seize mois, nous avons réalisé des résultats incroyables, commente Michael Meeks, ingénieur chez SUSE, avec presque 300 nouveaux développeurs sur ce projet, attirés par la licence copyleft, l'absence de contraintes copyright et un environnement accueillant. En plus des nouvelles fonctionnalités nous avons tratuit des dizaines de milliers de commentaires en allemand, supprimé des milliers de méthodes non utilisées et obsolètes (parfois des bibliothèques entières) et développé une suite de tests automatisés. Bien qu'il nous reste encore un long chemin, les utilisateurs, qui nous avaient parfois reproché la stabilité de la suite parce qu'ils n'étaient pas conscients de de l'importante dette que nous avions, peuvent bénéficier maintenant d'un LibreOffice particulièrement plus propre, optimisé et plus riche en fonctionnalités : la version 3.5. »

Petit historique



Pour fêter la sortie de LibreOffice 3.5, grand succès de la fondation qui donne un an après sa création cette mise à jour importante, nous vous proposons cet article qui regroupe des informations sur l'histoire de cette suite logicielle bureautique, ses performances et améliorations, ainsi que ses nouvelles fonctionnalités.
Alors que l'histoire de Microsoft Office est une et indivisible, liée à l'entreprise qui l'a crée, le cheminement de LibreOffice suit de nombreux sentiers épars et courbes, mais riches et pluriels à l'image de la communauté qui l'anime.
Pour parler des ancêtres, rien de tel qu'observer un arbre généalogique, alors le voici :
Historique LibreOffice
Tout a commencé avec StarOffice de StarDivision en 1984, bien avant Sun. Cette suite a dû combattre un ennemi tout puissant : Microsoft Office, et bien que sa richesse et ses fonctionnalités en faisaient un challenger de choix, la lutte a été ardue contre cet adversaire redoutable dont les armes n'étaient pas égales (et les coups parfois bas).
En 1999 Sun Microsystems achète le code et les droits de la suite. Arrêtons nous un peu sur le StarOffice de Sun, qui est le parent direct de LibreOffice.
Staroffice_logo
Pour concurrencer Microsoft, la suite est offerte à tout le monde à partir de la version 5.2. Puis, moins de deux ans plus tard, Sun décide de fédérer une communauté et passe la plus grande partie du code sous licence LGPL (la rendant libre et gratuite) : c'est la naissance d'OpenOffice.org (OOo) pour les intimes. StarOffice continue sa vie de son côté en présentant un produit plus fini et plus abouti qu'OpenOffice.org sur certains détails, mais la base du code est bien développé par la communauté. StarOffice possède par exemple quelques polices supplémentaires, des modèles et des clip-arts plus nombreux, des dictionnaires plus complets et un support téléphonique : choses qu'OOo ne proposait pas. La fin de StarOffice est arrivée le jour du rachat de Sun par Oracle.

StarOffice

StarOffice disparue, le bébé va bien pourtant et grandit vite. Il est très bientôt papa à son tour et les versions d'OOo se succèdent. La version 1 donne le tant attendue NeoOffice c'est à dire enfin la possibilité de lancer OpenOffice sur Mac de manière native (sans passer par X11). De la version 2 d'OOo naît Lotus Symphonie, une suite bureautique d'IBM très proche possédant quelques traits particuliers ainsi qu'une interface différente avec de novelles fonctionnalités. Il s'agit du dérivé d'OOo le plus original d'alors.

Lotus Symphony

Enfin, la version 3 d'OOo donnera naissance à LibreOffice pour une certain nombre de raisons qu'on n'évoquera pas ici, mais dont on peut dire que le rachat de Sun par Oracle n'a pas été étranger. Alors que OOo commençait à stagner et que les versions suivant la version 3.0 se faisaient attendre, la vie et le nouveau souffle que la communauté a insufflé dans LibreOffice, on produit un effort rapide et de qualité nous donnant un excellent LibreOffice 3.5 un an après alors que la version 3.3 d'OOo est toujours en bêta.

Forks, variantes, dérivés



Les projets communautaires courent le risque de vivre l'expérience d'une vraie tour de Babel. Disputes, dissensions, contradictions mènent les projets à se scinder, les équipes à se séparer. Même si l'éclatement d'OpenOffice.org est plutôt dû à Oracle et à sa gestion de la communauté et du code, il n'empêche qu'un certain nombre de projets sont nés. De certains on peut dire qu'ils apportent une plus grande richesse, d'autres font craindre un éclatement et par là un gaspillage des forces créatives de la communauté.
Citons au passage :
OO4kids : c'est à dire OpenOffice.org pour les enfants ;
OooLight : c'est la version régime de la suite comme son nom l'indique ;
Lotus Symphonie : version commerciale tout pleine de plein de choses ;
NeoOffice : version plus orientée Mac (gratuite mais don preque obligatoire) ;
Oxygen Office, White Label Office, RedOffice...
Si vous avez du temps devant vous, vous pouvez vous endormir sur le schéma suivant :

Fork OpenOffice

LibreOffice cependant et la fondation réintègrent une partie des améliorations qu'OOo apporte au code quand cela est possible techniquement et légalement : il ne faut pas imaginer tout effort externe perdu. Les vases communiquent, fort heureusement.

Perspectives



LibreOffice est de loin le vivier le plus riche et nombreux des talents de cette communauté post-OOo.
La Document Foundation a été annoncée le 28 septembre 2010. « Aujourd'hui, nous nous retournons sur une année riche et bien remplie, spécialement du point de vue du développement. Le cœur de notre équipe de développement a atteint le nombre de 400 et a réalisé un grand nombre des buts ambitieux que nous nous étions fixés. Nous avons encore une longue route, mais LibreOffice 3.5, qui doit sortir la semaine prochaine, sera la toute première version qui montrera les directions de la fondation non seulement aux geek mais aussi à tous les utilisateurs : une suite bureautique plus rapide et mieux conçue, remplie de nouvelles fonctionnalités. » (italovignoli janvier 2012).
Et voici le point sous forme de schémas. Vous avez été rodés par l'historique d'OOo, maintenant les méga-diagrammes ne vous font pas peur : je le sais.

Perspectives Evolution LibreOffice

Le blog de la fondation de LibreOffice (The Document Foundation) nous livre quelques nouvelles heureuses sur la progression du nombre de développeurs et de l'engouement que suscite cette suite bureautique. TDF a été annoncé le 28 septembre 2010, date à laquelle le nombre de développeurs étaient encore très faible. Les critiques fusaient et il a même été dit que pour un projet de cette importance, il y avait trop peu de développeurs, et que rien de bon ne pourrait être fait tant qu'ils ne seraient pas au nombre d'au moins 25. Les quelques 9 développeurs d'alors étaient bien seuls, mais, en deux jours, 21 autres âmes charitables les ont rejoints... En octobre 2010, ils étaient déjà 86 ! Cette source ne s'est jamais tarie, et fin décembre 2011, les contributeurs de LibreOffice étaient 379.
La barre des 400 va être franchie très bientôt. Ce graphique dit tout :

libreoffice-newcommitters

La plupart des hackers sont des volontaires qui donnent leur temps et leur compétence au projet. On ne peut pas dire qu'ils y contribuent tous les jours, mais ils font tous beaucoup.
Avec en moyenne 80 contributions au code par mois depuis un an, LibreOffice est parmi les plus gros projets OpenSource.

Aperçu des nouveautés



Les nouveautés de la version 3.5 sont très nombreuses et vous pouvez en faire la lecture en français sur cette page ou encore la lecture exhaustive en anglais ici.
Mais nous allons vous en faire un petit compte-rendu.

WRITER



Commençons par le nouveau menu qui permet d'ajuster les en-têtes et pieds de page in-situ dans Writer. On n'a plus besoin d'utiliser le menu Insertion > En-tête. Il suffit de cliquer au dessus de la page, dans la marge, pour insérer un en-tête. Un menu local, affiché en bleu quand l'en-tête est sélectionné, permet d'accéder directement aux paramètres de personnalisation.

LibreOffice1

Une meilleure présentation des sauts de page fait aussi son apparition:

LibreOffice1

Classement naturel : les menus listent leurs entrées dans l'ordre naturel par exemple « Titre 10 » apparaît maintenant après « Titre 9 » et non plus après « Titre 1 ». Voyez par exemple : Writer > Format > Styles et formatage.

Styles et formatage

DRAW



Les rectangles de sélection de Draw, mais aussi de tous les éléments de la suite, sont maintenant en transparence alpha, ce qui est non seulement plus esthétique, mais qui permet de mieux distinguer les formes que l'on modifie.

LibreOffice

CALC



Support de feuilles jusqu'à 10 000 avec de bien meilleures performances sur les opération de copie et d'insertion de feuilles.

Input multiligne:

3.5_Multiline_inputbar

Nouveau menu déplacer / copier une feuille :

Déplacer-copier la feuille

Nouveau filtre de tri "non vide":

LibreOffice1

Nouveau menu contextuel :

LibreOffice1

Et de bien meilleures performances en général : voir l'article " Calc plus rapide qu'Excel ? "

BASE



Un bon nombre de correction de bogues et de meilleures performances. Un pilote natif est désormais intégré pour les bases de données PostgreSQL rendant l'utilisation de JDBC ou ODBC plus lente et inutile.

GÉNÉRAL



Disparition des inélégantes poignées sur les barres d'outils:

LibreOfficeLibreOffice

Un nouveau sélecteur de couleurs:
LibreOffice / Préférences / Couleurs / Editer

Sélecteur de couleur




Les barres d'outils contextuelles sont maintenant au bas du document pour éviter de passer dessus des parties importantes des documents.

Le gestionnaire des extensions (Outils > Gestionnaire des extension) possède maintenant 3 cases à cocher pour permettre la sélection du type d'extensions à afficher :

  • Installation (fournies avec LibreOffice) ;
  • Partagées ;
  • Utilisateur (les extensions que l'on a nous même téléchargées et installées.

Gestionnaire des extensions

Les mises à jour de la suite et des extensions se fait de manière automatique :

Options - LibreOffice - Mise à jour en ligne

Mise à jour de l'extension