[gnome-devel-docs] Added French optimization doc translation



commit fd0dd4a659fdc4d45bbf4fae05494937e49b309b
Author: Bruno Brouard <annoa b gmail com>
Date:   Wed Sep 8 16:39:44 2010 +0200

    Added French optimization doc translation
    
    Contributed by Nicolas Repentin <nicolas repentin gmail com>
    	and Gérard Baylard <gerard b bbox fr>, 2010

 optimization-guide/Makefile.am |    2 +-
 optimization-guide/fr/fr.po    | 1281 ++++++++++++++++++++++++++++++++++++++++
 2 files changed, 1282 insertions(+), 1 deletions(-)
---
diff --git a/optimization-guide/Makefile.am b/optimization-guide/Makefile.am
index ad3b082..8346843 100644
--- a/optimization-guide/Makefile.am
+++ b/optimization-guide/Makefile.am
@@ -2,7 +2,7 @@ include $(top_srcdir)/gnome-doc-utils.make
 dist-hook: doc-dist-hook
 
 DOC_MODULE = optimization-guide
-DOC_LINGUAS = cs de el es zh_CN
+DOC_LINGUAS = cs de el es fr zh_CN
 DOC_ENTITIES =
 DOC_INCLUDES = \
   optimization-harmful.xml \
diff --git a/optimization-guide/fr/fr.po b/optimization-guide/fr/fr.po
new file mode 100644
index 0000000..96d8f8c
--- /dev/null
+++ b/optimization-guide/fr/fr.po
@@ -0,0 +1,1281 @@
+# French translation for gnome-devel-docs.
+# Copyright (C) 2009-2010 gnome-devel-docs's COPYRIGHT HOLDER
+# This file is distributed under the same license as the gnome-devel-docs package.
+#
+# Nicolas Repentin <nicolas repentin gmail com>, 2009.
+# Bruno Brouard <annoa b gmail com>, 2010.
+# Gérard Baylard <gerard b bbox fr>, 2010.
+msgid ""
+msgstr ""
+"Project-Id-Version: gnome-devel-docs master\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-08-29 17:06+0000\n"
+"PO-Revision-Date: 2010-09-03 00:34+0200\n"
+"Last-Translator: Gérard Baylard <gerard b bbox fr>\n"
+"Language-Team: GNOME French Team <gnomefr traduc org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#: C/optimization-intro.xml:3(title)
+msgid "The Quick Guide to Optimizing GNOME Programs"
+msgstr "Le guide rapide pour optimiser les programmes GNOME"
+
+#: C/optimization-intro.xml:5(para)
+msgid ""
+"This is a brief introduction to optimization, both the hows and the whys. "
+"Details of individual tools and techniques are left for later articles, but "
+"a collection of hints and tricks is provided."
+msgstr ""
+"Voici une brève introduction à l'optimisation, à la fois le comment et le "
+"pourquoi. Les détails des divers outils et techniques sont laissés pour des "
+"articles à venir, mais nous donnerons ici un ensemble de trucs et astuces."
+
+#: C/optimization-intro.xml:10(title)
+msgid "What are we Optimizing?"
+msgstr "Qu'optimisons nous ?"
+
+#: C/optimization-intro.xml:11(para)
+msgid ""
+"When we optimize for GNOME the first thing to remember is this: we are not "
+"trying to make the program better, we are trying to make the person using "
+"the computer happier."
+msgstr ""
+"Quand nous optimisons pour GNOME, voici une première chose dont il faut se "
+"souvenir : nous ne tentons pas d'améliorer un programme, nous essayons de "
+"mieux satisfaire l'utilisateur."
+
+#: C/optimization-intro.xml:14(para)
+msgid ""
+"Better programs make people happier, but there are some improvements that "
+"will make them a lot happier than others: Responsiveness, start-up time, "
+"easy to access commands and not having the computer go into swap the moment "
+"more than two programs are open."
+msgstr ""
+"Meilleur est le programme, plus les gens sont satisfaits, mais il est des "
+"améliorations qui les satisfont plus que d'autres : réactivité, temps de "
+"démarrage, facilité d'accès aux commandes et le fait de ne pas avoir "
+"l'ordinateur qui utilise la mémoire virtuelle dès que plus de deux "
+"programmes sont ouverts."
+
+#: C/optimization-intro.xml:17(para)
+msgid ""
+"Traditional optimization tackles concepts like CPU use, code size, the "
+"number of mouse clicks and the memory use of the program. This second list "
+"has been chosen to correlate with the first list, however there is an "
+"important difference: The person using GNOME doesn't care about the second "
+"list, but they care a lot about the first list. When optimizing GNOME "
+"programs we will reduce CPU use, memory use and all those things, but these "
+"are the means to the end, not the final goal. We are optimizing for people."
+msgstr ""
+"Une optimisation traditionnelle s'attaque à des concepts comme l'utilisation "
+"de la CPU, la taille du code, le nombre de clics de souris et la mémoire "
+"utilisée par le programme. Cette deuxième énumération est corrélée avec "
+"celle de l'alinéa précédent, cependant il y a une différence importante : "
+"l'utilisateur de GNOME ne se soucie absolument pas des critères de cette "
+"deuxième énumération, mais beaucoup plus de ceux de la première. En "
+"optimisant les programmes GNOME, nous réduisons l'utilisation de la CPU, de "
+"la mémoire et beaucoup d'autres choses, mais ce sont des aboutissements et "
+"non des finalités. Nous optimisons pour les personnes."
+
+#: C/optimization-intro.xml:23(title)
+msgid "Doing the Optimization"
+msgstr "Réalisation d'une optimisation"
+
+#: C/optimization-intro.xml:24(para)
+msgid ""
+"The previous section omitted one important qualifier: To optimize something "
+"it has to be measurable. You can't measure happiness. However, you can "
+"measure start-up time so you can tell if you have improved it. Happiness "
+"will then, hopefully, follow."
+msgstr ""
+"Le paragraphe précédent a omis de citer un qualifiant important : on ne peut "
+"optimiser que ce qui est mesurable. La satisfaction n'est pas quantifiable. "
+"Mais, vous pouvez mesurer un temps de démarrage et dire si vous l'avez "
+"amélioré. Nous avons quelques espoirs qu'une satisfaction s'ensuive."
+
+#: C/optimization-intro.xml:27(para)
+msgid ""
+"Optimization is the process of measurement, refinement and re-measurement. "
+"So the first thing you must do is find a way to measure what you are "
+"optimizing. Ideally this measurement is a single number, for example: the "
+"time taken to perform a task. This is your benchmark, it is the only way to "
+"tell if you are winning or losing. There is a big difference between a "
+"program that <emphasis>should</emphasis> be fast and a program that "
+"<emphasis>is</emphasis> fast."
+msgstr ""
+"L'optimisation est le processus qui consiste à mesurer, affiner et mesurer à "
+"nouveau. Donc la première chose à faire est de trouver une mesure de ce que "
+"vous optimisez. L'idéal est que cette quantité soit représentée par un "
+"chiffre unique, par exemple : le temps nécessaire à la réalisation d'une "
+"tâche. Cette mesure constitue le test d'évaluation, elle est l'unique moyen "
+"de dire si vous êtes gagnant ou perdant. La différence est énorme entre un "
+"programme qui <emphasis>devrait</emphasis> être rapide et un qui "
+"l'<emphasis>est</emphasis>."
+
+#: C/optimization-intro.xml:30(para)
+msgid ""
+"Once you have a basic benchmark you need to find out why your code is not "
+"doing as well as it should. It is tempting to do this by inspection: just "
+"looking at the code and trying to spot something that looks like it needs "
+"improvement. You will invariably be wrong. Using a profiler to get a "
+"detailed break-down of what your program really does is the only way to be "
+"sure."
+msgstr ""
+"Une fois que vous avez un point de référence, il faut savoir pourquoi le "
+"code ne fonctionne pas aussi bien qu'il le devrait. Il est tentant de le "
+"faire par inspection : en regardant simplement le code pour essayer de "
+"repérer quelque chose d'améliorable. Vous serez invariablement dans "
+"l'erreur. La seule façon d'être sûr est d'utiliser un profileur pour obtenir "
+"la décomposition détaillée de ce que votre programme fait réellement."
+
+#: C/optimization-intro.xml:33(para)
+msgid ""
+"Usually the problem is isolated to small sections of code. Pick the worst "
+"place and concentrate on that first. Once that is done, rerun the profiler "
+"and repeat. As you proceed the gains made at each step will get less and "
+"less, at some point you will have to decide that the results are good "
+"enough. If your efforts are only extracting 10% improvements then you are "
+"well past the point where you should have stopped."
+msgstr ""
+"Habituellement vous cernerez les problèmes dans de petites portions de code. "
+"Repérez la pire et centrez votre attention d'abord sur elle. Quand vous avez "
+"terminé, relancez le profileur et recommencez. � mesure que vous avancez, "
+"les progrès réalisés à chaque étape sont de plus en plus faibles, jusqu'au "
+"moment où vous aurez à décider si les résultats sont assez bons. Si vos "
+"efforts aboutissent à ne serait-ce que 10 % d'améliorations, alors vous êtes "
+"bien au delà du point où vous auriez pu vous arrêter."
+
+#: C/optimization-intro.xml:36(para)
+msgid ""
+"Don't forget the big picture. For example, rather than just trying to speed "
+"up a piece of code, ask yourself if it needs to be run at all. Could it be "
+"combined with another piece of code? Can the results of previous "
+"calculations be saved and reused? It won't even need to be optimized if it "
+"is in a place where the user is never going to notice it. Worse still, the "
+"code may already be optimized and is doing the heavy calculations now to "
+"avoid doing them later. Code does not run in isolation and neither does the "
+"optimization process."
+msgstr ""
+"Ayez une vue d'ensemble. Par exemple, plutôt que d'essayer de rendre plus "
+"rapide un morceau du code, demandez-vous plutôt s'il doit être exécuté. Peut-"
+"il être combiné avec une autre partie de code ? Les résultats de calculs "
+"antérieurs peuvent-ils être sauvegardés et réutilisés ? Ce code a-t-il même "
+"besoin d'être optimisé, s'il est à un endroit où l'utilisateur ne va jamais "
+"le parcourir ? Pire encore, le code peut déjà avoir été optimisé et "
+"effectuer maintenant des calculs lourds pour éviter d'avoir à les faire plus "
+"tard. Un morceau de code ne s'exécute pas isolément, pas plus que le "
+"processus d'optimisation."
+
+#: C/optimization-intro.xml:41(title)
+msgid "Hints"
+msgstr "Conseils pratiques"
+
+#: C/optimization-intro.xml:43(title)
+msgid "The Fundamentals"
+msgstr "Les Fondamentaux"
+
+#: C/optimization-intro.xml:45(para)
+msgid ""
+"Re-run your benchmark after every change you make to the code and keep a log "
+"of everything you change and how it affects the benchmark. This lets you "
+"undo mistakes and also helps you not to repeat mistakes."
+msgstr ""
+"Relancez le test de performance après chaque changement apporté au code ; "
+"gardez un journal de toutes les modifications en notant la manière dont "
+"elles affectent le test de performance. Procéder ainsi vous permet d'annuler "
+"les erreurs et vous aide à ne pas les répéter."
+
+#: C/optimization-intro.xml:50(para)
+msgid ""
+"Make sure your code is correct and bug-free before optimizing it. Check that "
+"it remains correct and bug-free after optimization."
+msgstr ""
+"Assurez vous que le code est correct et ne contient pas de bogues avant de "
+"l'optimiser. Vérifiez qu'il est toujours correct et sans bogues après "
+"optimisation."
+
+#: C/optimization-intro.xml:55(para)
+msgid "Optimize at the high level before optimizing the details."
+msgstr "Optimisez au général avant d'optimiser les détails."
+
+# A corriger, je ne comprends pas comment traduire quick sort et bubble sort.
+#: C/optimization-intro.xml:60(para)
+msgid ""
+"Use the right algorithm. The classic text-book example is using quick-sort "
+"instead of bubble-sort. There are many others, some save memory, some save "
+"CPU. Also, see what shortcuts you can make: you can do quicker than quick-"
+"sort if you are prepared to make some compromises."
+msgstr ""
+"Utilisez le bon algorithme. L'exemple classique des ouvrages est de "
+"conseiller l'utilisation d'un tri rapide plutôt qu'un tri à bulle. Il en "
+"existe beaucoup d'autres, certains économisent la mémoire, d'autres la CPU. "
+"�galement, voyez quels sont les raccourcis possibles : vous pouvez faire "
+"plus rapide que le tri rapide si vous êtes prêt à quelques compromis."
+
+#: C/optimization-intro.xml:65(para)
+msgid ""
+"Optimization is a trade-off. Caching results speeds up calculations, but "
+"increases memory use. Saving data to disk saves memory, but costs time when "
+"it is loaded back from disk."
+msgstr ""
+"L'optimisation est un arbitrage. Mettre en cache des résultats accélère les "
+"calculs, mais augmente l'utilisation de la mémoire. Enregistrer les données "
+"sur disque économise la mémoire, mais prend plus de temps quand il faut les "
+"rappeler."
+
+# la première phrase ?
+#: C/optimization-intro.xml:70(para)
+msgid ""
+"Make sure you choose a wide variety of inputs to optimize against. If you "
+"don't it is easy to end up with a piece of code carefully optimized for one "
+"file and no others."
+msgstr ""
+"Mettez en concurrence les optimisations sur un large éventail d'entrées. � "
+"défaut, il est courant de se retrouver avec une portion de code "
+"soigneusement optimisée pour un fichier donné et pas les autres."
+
+# A vérifier, je n'ai pas bien compris la deuxième phrase.
+#: C/optimization-intro.xml:75(para)
+msgid ""
+"Avoid expensive operations: Multiple small disk reads. Using up lots of "
+"memory so disk swapping becomes necessary. Avoid anything that writes or "
+"reads from the hard disk unnecessarily. The network is slow too. Also avoid "
+"graphics operations that need a response from the X server."
+msgstr ""
+"�vitez des opérations coûteuses : la multiplication de petites lectures sur "
+"les disques, l'utilisation de grosses quantités de mémoire qui nécessitent "
+"l'emploi de la mémoire virtuelle, les écritures ou lectures inutiles sur "
+"disque dur. Le réseau est également lent. �vitez aussi les opérations "
+"graphiques qui ont besoin d'une réponse du serveur X."
+
+#: C/optimization-intro.xml:81(title)
+msgid "Traps for the Unwary"
+msgstr "Pièges pour imprudents"
+
+#: C/optimization-intro.xml:83(para)
+msgid ""
+"Beware of side effects. There can often be strange interactions between "
+"different sections of code, a speed-up in one part can slow another part "
+"down."
+msgstr ""
+"Méfiez-vous des effets collatéraux. Il y a souvent d'étranges interactions "
+"entre diverses parties du code, l'accélération d'une partie peut ralentir "
+"l'autre."
+
+#: C/optimization-intro.xml:88(para)
+msgid ""
+"When timing code, even on a quiet system, events outside the program add "
+"noise to the timing results. Average over multiple runs. If the code is very "
+"short, timer resolution is also a problem. In this case measure the time the "
+"computer takes to run the code 100 or 1000 times. If the times you are "
+"recording are longer than a few seconds, you should be OK."
+msgstr ""
+"Pendant le chronométrage du temps, même sur un système peu chargé, les "
+"événements en dehors du programme ajoutent du bruit au résultat. Moyennez-"
+"les sur plusieurs exécutions. Si le code est très court, la résolution du "
+"chronomètre peut devenir aussi un problème. Dans ce cas, mesurez le temps "
+"que l'ordinateur met pour exécuter le code 100 ou 1000 fois. Si le temps que "
+"vous enregistrez est plus long que quelques secondes, cela devrait être "
+"correct."
+
+# une meilleure traduction pour idle-loop ?
+#: C/optimization-intro.xml:93(para)
+msgid ""
+"It is very easy to be misled by the profiler. There are stories of people "
+"optimizing the operating system idle-loop because that is where it spent all "
+"its time! Don't optimize code that does nothing the user cares about."
+msgstr ""
+"Il est très facile d'être induit en erreur par le profileur. On raconte des "
+"histoires de personnes optimisant la boucle d'attente du système "
+"d'exploitation parce que c'est là que l'ordinateur passait tout son temps ! "
+"N'optimisez pas le code des choses dont l'utilisateur n'a rien à faire."
+
+#: C/optimization-intro.xml:98(para)
+msgid ""
+"Remember the resources on the X server. Your program's memory usage doesn't "
+"include the pixmaps that are stored in the X server's process, but they are "
+"still using up memory. Use xrestop to see what resources your program is "
+"using."
+msgstr ""
+"N'oubliez pas les ressources sur le serveur X. Le décompte de la mémoire "
+"utilisée par votre programme ne comprend pas les images <literal>pixmap</"
+"literal> stockées par les processus du serveur X, mais ces images dépensent "
+"encore de la mémoire. Utilisez <application>xrestop</application> pour "
+"prendre connaissance des ressources utilisées par votre programme."
+
+#: C/optimization-intro.xml:104(title)
+msgid "Low Level Hints"
+msgstr "Conseils niveau système"
+
+#: C/optimization-intro.xml:106(para)
+msgid ""
+"When optimizing memory use, be wary of the difference between peak usage and "
+"average memory usage. Some memory is almost always allocated, this is "
+"usually bad. Some is only briefly allocated, this may be quite acceptable. "
+"Tools like massif use the concept of space-time, the product of memory used "
+"and the duration it was allocated for, instead."
+msgstr ""
+"Quand vous optimisez l'utilisation de la mémoire, faites la différence entre "
+"usage de crête et usage moyen. Que de la mémoire soit allouée de manière "
+"pratiquement permanente est en règle générale mauvais. Que de la mémoire "
+"soit allouée sur de brèves périodes est tout à fait acceptable . Des outils "
+"comme <application>massif</application> utilisent plutôt le concept "
+"espace*temps, produit de la mémoire utilisée multiplié par la durée de son "
+"allocation."
+
+# à revoir !
+#: C/optimization-intro.xml:111(para)
+msgid ""
+"Time simplified bits of code that do only the things you know are essential, "
+"this gives an absolute lower limit on the time your code will take. For "
+"example, when optimizing a loop time the empty loop. If that is still too "
+"long no amount of micro-optimization will help and you will have to change "
+"your design. Make sure the compiler doesn't optimize away your empty loop."
+msgstr ""
+"Chronométrez des portions de code simplifiées qui n'exécutent que les choses "
+"que vous savez être essentielles ; vous obtiendrez ainsi une limite "
+"inférieure absolue du temps que votre code prendra. Par exemple, pour "
+"optimiser une boucle, chronométrez la boucle d'attente. Si elle est encore "
+"trop longue, les micro-optimisations, aussi nombreuses soient-elles, ne vous "
+"seront d'aucun secours : vous devez modifier votre conception. Assurez-vous "
+"que le compilateur n'a pas optimisé par ailleurs votre boucle d'attente."
+
+#: C/optimization-intro.xml:116(para)
+msgid ""
+"Move code out from inside loops. A slightly more complicated piece of code "
+"that is executed once is far quicker than a simple piece of code executed a "
+"thousand times. Avoid calling slow code often."
+msgstr ""
+"Déplacez le code en dehors des boucles. Une portion de code légèrement plus "
+"complexe exécutée une seule fois est beaucoup plus rapide qu'une portion de "
+"code simple exécutée une centaine de fois. �vitez d'appeler trop souvent du "
+"code lent."
+
+#: C/optimization-intro.xml:121(para)
+msgid ""
+"Give the compiler as many hints as possible. Use the const keyword. Use "
+"<envar>G_INLINE_FUNC</envar> for short, frequently called, functions. Look "
+"up <envar>G_GNUC_PURE</envar>, <envar>G_LIKELY</envar> and the other glib "
+"miscellaneous macros. Use the macros instead of gcc-specific keywords to "
+"ensure portability."
+msgstr ""
+"Utilisez toutes les astuces possibles avec le compilateur. Servez-vous du "
+"mot-clé <literal>const</literal>, de <envar>G_INLINE_FUNC</envar> pour des "
+"fonctions courtes fréquemment appelées. Envisagez l'utilisation de "
+"<envar>G_GNUC_PURE</envar>, <envar>G_LIKELY</envar> et d'autres diverses "
+"macros de <literal>glib</literal>. Utilisez les macros au lieu de mots-clés "
+"spécifiques à <application>gcc</application> pour assurer la portabilité."
+
+#: C/optimization-intro.xml:126(para)
+msgid ""
+"Don't use assembly language. It is not portable and, while it may be fast on "
+"one processor, it is not even guaranteed to be fast on every processor that "
+"supports that architecture (e.g. Athlon vs. Pentium 4)."
+msgstr ""
+"N'utilisez pas le langage assembleur. Il n'est pas portable et, quand il est "
+"plus rapide sur un processeur, ce n'est pas garanti qu'il le soit sur tous "
+"les processeurs qui supportent cette architecture (par ex. Athlon versus "
+"Pentium 4)."
+
+#: C/optimization-intro.xml:131(para)
+msgid ""
+"Don't rewrite an existing library routine unless you are sure it is "
+"unnecessarily slow. Many CPU-intensive library routines have already been "
+"optimized. Conversely, some library routines are slow, especially ones that "
+"make system calls to the operating system."
+msgstr ""
+"Ne réécrivez pas une routine existante de bibliothèque, à moins d'être sûr "
+"qu'elle est inutilement lente. Beaucoup de routines de bibliothèques "
+"utilisant intensivement la CPU ont déjà été optimisées. Inversement, "
+"certaines routines de bibliothèque sont lentes, en particulier celles "
+"faisant appel au système d'exploitation."
+
+#: C/optimization-intro.xml:136(para)
+msgid ""
+"Minimize the number of libraries you link to. The fewer libraries to link "
+"in, the faster the program starts. This is a difficult thing to do with "
+"GNOME."
+msgstr ""
+"Minimisez le nombre de bibliothèques auxquelles vous liez votre code. Moins "
+"il y a de bibliothèques à lier, plus le programme se lancera rapidement. Ce "
+"n'est pas facile à faire avec GNOME."
+
+#: C/optimization-intro.xml:142(title)
+msgid "High Level Tricks"
+msgstr "Astuces niveau abstractions"
+
+#: C/optimization-intro.xml:144(para)
+msgid ""
+"Take advantage of concurrency. This doesn't just mean using multiple "
+"processors, it also means taking advantage of the time the user spends "
+"thinking about what they are going to do next to perform some calculations "
+"in anticipation. Do calculations while waiting for data to be loaded off "
+"disk. Take advantage of multiple resources, use them all at once."
+msgstr ""
+"Utilisez la concomitance. Ce conseil ne vise pas uniquement la simultanéité "
+"des processus multiples, mais le fait qu'il faut mettre à profit le temps "
+"que l'utilisateur passe à réfléchir à ses actions futures pour anticiper "
+"quelques calculs. Faites des opérations en attendant le chargement des "
+"données disque. Exploitez la multiplicité des ressources, utilisez-les "
+"toutes ensemble."
+
+#: C/optimization-intro.xml:149(para)
+msgid ""
+"Cheat. The user only has to think that the computer is fast, it doesn't "
+"matter whether it actually is or not. It is the time between the command and "
+"the answer that is important, it doesn't matter if the response is pre-"
+"calculated, cached, or will in fact be worked out later at a more convenient "
+"time, as long as the user gets what they expect."
+msgstr ""
+"Trichez. L'utilisateur doit imaginer un ordinateur rapide, aucune importance "
+"qu'il le soit effectivement ou non. L'important est le délai entre commande "
+"et réponse ; peu importe que la réponse soit calculée par avance, en cache "
+"ou mise au point plus tard à un moment plus opportun pourvu que "
+"l'utilisateur obtienne ce qu'il attend."
+
+#: C/optimization-intro.xml:154(para)
+msgid ""
+"Do things in the idle loop. It is easier to program than using full multi-"
+"threading but still gets things done out of the users eye. Be careful "
+"though, if you spend too long in the idle loop your program will become "
+"sluggish. So regularly give control back to the main loop."
+msgstr ""
+"Faites quelque chose pendant la boucle d'attente. C'est plus facile à "
+"programmer qu'une pleine utilisation de processus multiples, mais faites "
+"toujours faire les choses hors de la vue de l'utilisateur. Attention "
+"cependant, si vous passez trop de temps dans la boucle d'attente, votre "
+"programme deviendra mollasson. Donc, redonnez régulièrement le contrôle à la "
+"boucle principale."
+
+#: C/optimization-intro.xml:159(para)
+msgid ""
+"If all else fails, tell the user that the code is going to be slow and put "
+"up a progress bar. They won't be as happy as if you had just presented the "
+"results, but they will at least know the program hasn't crashed and they can "
+"go get a cup of coffee."
+msgstr ""
+"Si tout ce qui précède échoue, avouez à l'utilisateur que le code est lent "
+"et programmez une barre de progression. Ils ne seront pas aussi satisfaits "
+"que par la présentation des résultats, mais ils sauront au moins que le "
+"programme ne s'est pas arrêté brutalement et qu'ils peuvent aller chercher "
+"une tasse de café."
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/optimization-massif.xml:52(None)
+msgid ""
+"@@image: 'figures/massif-before.png'; md5=1a6b2ace548e6789ab8bfacb3727b345"
+msgstr ""
+"@@image: 'figures/massif-before.png'; md5=1a6b2ace548e6789ab8bfacb3727b345"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/optimization-massif.xml:114(None)
+msgid ""
+"@@image: 'figures/massif-after.png'; md5=36d1b4ad7ab49b28b69ad3eabbaa7069"
+msgstr ""
+"@@image: 'figures/massif-after.png'; md5=36d1b4ad7ab49b28b69ad3eabbaa7069"
+
+#: C/optimization-massif.xml:3(title)
+msgid ""
+"Using <application>Massif</application> for Profiling Memory Use in GNOME "
+"Software"
+msgstr ""
+"Utilisation de <application>Massif</application> pour profiler l'utilisation "
+"de la mémoire des logiciels GNOME"
+
+# quelle sera la meilleure traduction pour heap profiler ?
+#: C/optimization-massif.xml:5(para)
+msgid ""
+"This article describes how to use the <application>Massif</application> heap "
+"profiler with GNOME applications. We describe how to invoke, interpret, and "
+"act on the output of <application>Massif</application>. The "
+"<application>Same GNOME</application> game is used as an example."
+msgstr ""
+"Ce chapitre décrit comment utiliser le profileur du tas mémoire "
+"<application>Massif</application> avec les applications GNOME. Nous allons "
+"montrer comment appeler, interpréter et manipuler les sorties de "
+"<application>Massif</application>. Nous utiliserons le jeu <application>Same "
+"GNOME</application> en exemple."
+
+#: C/optimization-massif.xml:10(title)
+msgid "Introduction"
+msgstr "Introduction"
+
+# bonne traduction de heap ?
+#: C/optimization-massif.xml:11(para)
+msgid ""
+"<application>Massif</application> is a member of the <ulink type=\"http\" "
+"url=\"http://valgrind.org/\";>valgrind</ulink> suite of memory-profiling "
+"tools. Its purpose is to give a detailed view of dynamic memory usage during "
+"the lifetime of the program. Specifically it records the memory use of the "
+"heap and the stack."
+msgstr ""
+"<application>Massif</application> fait partie de la suite <ulink type=\"http"
+"\" url=\"http://valgrind.org/\";><application>valgrind</application></ulink> "
+"d'outils de profilage de la mémoire. Sa finalité est de donner une vue "
+"détaillée de l'utilisation dynamique de la mémoire pendant la durée de vie "
+"d'un programme. Plus précisément, il enregistre l'utilisation de la mémoire "
+"du tas et de la pile."
+
+# traduction heap ?
+#: C/optimization-massif.xml:14(para)
+msgid ""
+"The heap is the region of memory which is allocated with functions like "
+"malloc. It grows on demand and is usually the largest region of memory in a "
+"program. The stack is where all the local data for functions is stored. This "
+"includes the \"automatic\" variables in C and the return address for "
+"subroutines. The stack is typically a lot smaller and a lot more active than "
+"the heap. We won't consider the stack explicitly since <application>Massif</"
+"application> treats it as though it were just another part of the heap. "
+"<application>Massif</application> also gives information about how much "
+"memory is used to manage the heap."
+msgstr ""
+"Le tas est une zone mémoire dans laquelle des fonctions comme "
+"<function>malloc</function> font leurs allocations. Le tas augmente à la "
+"demande et est généralement la plus grande zone mémoire d'un programme. La "
+"pile est l'endroit où toutes les données locales des fonctions sont "
+"stockées, y compris les variables « automatiques » du C et l'adresse de "
+"retour des sous-programmes. La pile est habituellement beaucoup plus petite "
+"et beaucoup plus active que le tas. Nous ne la prendrons pas explicitement "
+"en considération puisque <application>Massif</application> traite la pile "
+"comme faisant partie du tas. <application>Massif</application> fournit "
+"également des informations sur les quantités de mémoire utilisées pour la "
+"gestion du tas."
+
+# de nombreuses traductions possibles pour breakdown, répartiton la mieux ?
+#: C/optimization-massif.xml:17(para)
+msgid ""
+"<application>Massif</application> produces two output files: a graphical "
+"overview in a postscript file and a detailed breakdown in a text file."
+msgstr ""
+"<application>Massif</application> produit deux fichiers de sortie : une vue "
+"d'ensemble graphique dans un fichier <literal>postscript</literal> et une "
+"répartition détaillée dans un fichier texte."
+
+#: C/optimization-massif.xml:22(title)
+msgid "Using <application>Massif</application> with GNOME"
+msgstr "Utilisation de <application>Massif</application> avec GNOME"
+
+#: C/optimization-massif.xml:23(para)
+msgid ""
+"<application>Massif</application> has very few options and for many programs "
+"does not need them. However for GNOME applications, where memory allocation "
+"might be buried deep in either glib or GTK, the number of levels down the "
+"call-stack Massif descends needs to be increased. This is achieved using the "
+"--depth parameter. By default this is 3; increasing it to 5 will guarantee "
+"the call-stack reaches down to your code. One or two more levels may also be "
+"desirable to provide your code with some context. Since the level of detail "
+"becomes quickly overwhelming it is best to start with the smaller depth "
+"parameter and only increase it when it becomes apparent that it isn't "
+"sufficient."
+msgstr ""
+"<application>Massif</application> a très peu d'options ; beaucoup de "
+"programmes n'en ont pas besoin. Toutefois, pour les applications GNOME, où "
+"les allocations mémoire peuvent être profondément enfouies dans des "
+"fonctions de glib ou de GTK, le nombre de niveaux de la pile d'appel dans "
+"laquelle Massif descend doit être augmenté. L'option <option>--depth</"
+"option> paramètre cette profondeur. Par défaut, elle est de 3, l'augmenter à "
+"5 garantit que la pile d'appel atteindra votre code. Un ou deux niveaux de "
+"plus peuvent également se révéler souhaitables pour analyser votre code dans "
+"un certain contexte. �tant donné que le niveau de détails devient vite "
+"envahissant, il est préférable de commencer avec un paramètre <option>depth</"
+"option> petit et de l'augmenter uniquement lorsqu'il devient évident que ce "
+"n'est pas suffisant."
+
+#: C/optimization-massif.xml:26(para)
+msgid ""
+"It is also useful to tell <application>Massif</application> which functions "
+"allocate memory in glib. It removes an unnecessary layer of function calls "
+"from the reports and gives you a clearer idea of what code is allocating "
+"memory. The allocating functions in glib are g_malloc, g_malloc0, g_realloc, "
+"g_try_malloc, and g_mem_chunk_alloc. You use the --alloc-fn option to tell "
+"Masiff about them."
+msgstr ""
+"Il est également utile d'indiquer à <application>Massif</application> "
+"quelles sont les fonctions d'allocation mémoire dans <literal>glib</"
+"literal>. Cette indication supprime une couche superflue d'appels de "
+"fonctions dans les rapports et permet d'avoir une idée plus claire sur les "
+"parties de code qui allouent de la mémoire. Les fonctions d'allocation dans "
+"<literal>glib</literal> sont : <function>g_malloc</function>, "
+"<function>g_malloc0</function>, <function>g_realloc</function>, "
+"<function>g_try_malloc</function> et <function>g_mem_chunk_alloc</function>. "
+"Utilisez l'option <option>--alloc-fn</option> pour les indiquer à "
+"<application>Massif</application>."
+
+#: C/optimization-massif.xml:29(para)
+msgid "Your command-line should therefore look something like:"
+msgstr ""
+"Votre ligne de commande devrait par conséquent ressembler à quelque chose "
+"comme :"
+
+#: C/optimization-massif.xml:32(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"valgrind --tool=massif --depth=5  --alloc-fn=g_malloc --alloc-fn=g_realloc --alloc-fn=g_try_malloc \\\n"
+"         --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc same-gnome\n"
+"        "
+msgstr ""
+"\n"
+"valgrind --tool=massif --depth=5  \\\n"
+"         --alloc-fn=g_malloc \\\n"
+"         --alloc-fn=g_realloc \\\n"
+"         --alloc-fn=g_try_malloc \\\n"
+"         --alloc-fn=g_malloc0 \\\n"
+"         --alloc-fn=g_mem_chunk_alloc \\\n"
+"                same-gnome\n"
+" "
+
+#: C/optimization-massif.xml:36(para)
+msgid ""
+"<application>Same GNOME</application> is the program we will be using as an "
+"example. Be warned that, since valgrind emulates the CPU, it will run "
+"<emphasis>very</emphasis> slowly. You will also need a lot of memory."
+msgstr ""
+"<application>Same GNOME</application> est le programme que nous utilisons en "
+"exemple. Soyez averti que, comme <application>valgrind</application> émule "
+"la CPU, il s'exécutera <emphasis>très</emphasis> lentement. Vous aurez "
+"également besoin de beaucoup de mémoire."
+
+#: C/optimization-massif.xml:41(title)
+msgid "Interpreting the Results"
+msgstr "Interprétation des résultats"
+
+#: C/optimization-massif.xml:42(para)
+msgid ""
+"The graphical output of <application>Massif</application> is largely self "
+"explanatory. Each band represents the memory allocated by one function over "
+"time. Once you identify which bands are using the most memory, usually the "
+"big thick ones at the top you will have to consult the text file for the "
+"details."
+msgstr ""
+"La sortie graphique de <application>Massif</application> est tout à fait "
+"explicite. Chaque bande représente la mémoire allouée par une fonction dans "
+"le temps. Après avoir repéré les bandes les plus goulues en mémoire, en "
+"général la plus épaisse en haut, vous devez consulter le fichier texte pour "
+"les détails."
+
+#: C/optimization-massif.xml:45(para)
+msgid ""
+"The text file is arranged as a hierarchy of sections, at the top is a list "
+"of the worst memory users arranged in order of decreasing spacetime. Below "
+"this are further sections, each breaking the results down into finer detail "
+"as you proceed down the call-stack. To illustrate this we will use the "
+"output of the command above."
+msgstr ""
+"Le fichier texte est constitué de paragraphes hiérarchisés, avec en tête de "
+"liste les utilisateurs de mémoire les plus gourmands rangés en ordre "
+"décroissant d'espace*temps. Au dessous se trouvent d'autres paragraphes ; "
+"chacun analyse les résultats de plus en plus finement au fur et à mesure que "
+"vous vous enfoncez dans les profondeurs de la pile des appels de fonctions. "
+"Pour illustrer cela, nous utiliserons la sortie de la commande précédente."
+
+#: C/optimization-massif.xml:49(title)
+msgid ""
+"<application>Massif</application> output for the unoptimized version of the "
+"<application>Same GNOME</application> program."
+msgstr ""
+"Sortie <application>Massif</application> pour la version non-optimisée de "
+"<application>Same GNOME</application>."
+
+#: C/optimization-massif.xml:56(para)
+msgid ""
+"<xref linkend=\"optimization-massif-FIG-output-unoptimized\"/> shows a "
+"typical postscript output from <application>Massif</application>. This is "
+"the result you would get from playing a single game of <application>Same "
+"GNOME</application> (version 2.8.0) and then quitting. The postscript file "
+"will have a name like <filename>massif.12345.ps</filename> and the text file "
+"will be called <filename>massif.12345.txt</filename>. The number in the "
+"middle is the process ID of the program that was examined. If you actually "
+"try this example you will find two versions of each file, with slightly "
+"different numbers, this is because <application>Same GNOME</application> "
+"starts a second process and <application>Massif</application> follows that "
+"too. We will ignore this second process, it consumes very little memory."
+msgstr ""
+"La <xref linkend=\"optimization-massif-FIG-output-unoptimized\"/> montre une "
+"sortie postscript typique de l'application <application>Massif</"
+"application>. Vous obtenez un résultat de ce type en jouant une seule partie "
+"de <application>Same GNOME</application> (version 2.8.0) puis en quittant. "
+"Le fichier postscript aura un nom du type <filename>massif.12345.ps</"
+"filename> et le fichier texte <filename>massif.12345.txt</filename>. Le "
+"nombre au milieu du nom est l'identifiant du processus correspondant au "
+"programme examiné. Si vous testez réellement cet exemple, vous trouverez "
+"deux versions de chacun de ces fichiers avec un numéro d'identifiant "
+"différent, car <application>Same GNOME</application> lance un deuxième "
+"processus que <application>Massif</application> analyse également. Nous "
+"ignorerons ce deuxième processus car il ne consomme que très peu de mémoire."
+
+#: C/optimization-massif.xml:59(para)
+msgid ""
+"At the top of the graph we see a large yellow band labelled gdk_pixbuf_new. "
+"This seems like an ideal candidate for optimization, but we will need to use "
+"the text file to find out what is calling gdk_pixbuf_new. The top of the "
+"text file will look something like this:"
+msgstr ""
+"En haut du graphique, est affichée une grande bande jaune étiquetée "
+"<literal>gdk_pixbuf_new</literal>. Elle semble être la candidate idéale pour "
+"une optimisation, mais nous avons besoin d'utiliser le fichier texte pour "
+"savoir qui appelle <literal>gdk_pixbuf_new</literal>. En tête du fichier "
+"texte, il y a quelque chose comme :"
+
+#: C/optimization-massif.xml:62(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"Command: ./same-gnome \n"
+"\n"
+"== 0 ===========================\n"
+"Heap allocation functions accounted for 90.4% of measured spacetime\n"
+"\n"
+"Called from:\n"
+"  28.8% : 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"\n"
+"    6.1% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"\n"
+"    5.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+"\n"
+"    3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
+"        "
+msgstr ""
+"\n"
+"Command: ./same-gnome \n"
+"\n"
+"== 0 ===========================\n"
+"Heap allocation functions accounted for 90.4% of measured spacetime\n"
+"\n"
+"Called from:\n"
+"  28.8% : 0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"\n"
+"   6.1% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"\n"
+"   5.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+"\n"
+"   3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
+" "
+
+#: C/optimization-massif.xml:77(para)
+msgid ""
+"The line with the '=' signs indicates how far down the stack trace we are, "
+"in this case we are at the top. After this it lists the heaviest users of "
+"memory in order of decreasing spacetime. Spacetime is the product of the "
+"amount of memory used and how long it was used for. It corresponds to the "
+"area of the bands in the graph. This part of the file tells us what we "
+"already know: most of the spacetime is dedicated to gdk_pixbuf_new. To find "
+"out what called gdk_pixbuf_new we need to search further down the text file:"
+msgstr ""
+"Le numéro dans la ligne avec les signes « = » indique la profondeur "
+"d'imbrication dans la pile des appels de fonctions où nous nous trouvons ; "
+"dans notre cas, nous sommes au sommet. Suit la liste des utilisateurs "
+"d'espace*temps mémoire du plus gourmand au moins gourmand. L'espace*temps "
+"mémoire représente la quantité de mémoire occupée multipliée par le temps "
+"d'utilisation. Il correspond à la surface des bandes sur le graphe. Cette "
+"première partie du fichier texte confirme ce que nous savions déjà : le gros "
+"de l'espace*temps est occupé par <literal>gdk_pixbuf_new</literal>. Pour "
+"savoir qui appelle <literal>gdk_pixbuf_new</literal>, il est nécessaire de "
+"rechercher plus bas dans le fichier texte :"
+
+#: C/optimization-massif.xml:80(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"== 4 ===========================\n"
+"Context accounted for 28.8% of measured spacetime\n"
+"  0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"  0x3A998998: (within /usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.so)\n"
+"  0x6C2760: (within /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"  0x6C285E: gdk_pixbuf_new_from_file (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"\n"
+"Called from:\n"
+"  27.8% : 0x804C1A3: load_scenario (same-gnome.c:463)\n"
+"\n"
+"    0.9% : 0x3E8095E: (within /usr/lib/libgnomeui-2.so.0.792.0)\n"
+"\n"
+"  and 1 other insignificant place\n"
+"        "
+msgstr ""
+"\n"
+"== 4 ===========================\n"
+"Context accounted for 28.8% of measured spacetime\n"
+"  0x6BF83A: gdk_pixbuf_new (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"  0x3A998998: (within /usr/lib/gtk-2.0/2.4.0/loaders/libpixbufloader-png.so)\n"
+"  0x6C2760: (within /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"  0x6C285E: gdk_pixbuf_new_from_file (in /usr/lib/libgdk_pixbuf-2.0.so.0.400.9)\n"
+"\n"
+"Called from:\n"
+"  27.8% : 0x804C1A3: load_scenario (same-gnome.c:463)\n"
+"\n"
+"   0.9% : 0x3E8095E: (within /usr/lib/libgnomeui-2.so.0.792.0)\n"
+"\n"
+"  and 1 other insignificant place\n"
+" "
+
+#: C/optimization-massif.xml:95(para)
+msgid ""
+"The first line tells us we are now four levels deep into the stack. Below it "
+"is a listing of the function calls that leads from here to gdk_pixbuf_new. "
+"Finally there is a list of functions that are at the next level down and "
+"call these functions. There are, of course, also entries for levels 1, 2, "
+"and 3, but this is the first level to reach right down through the GDK code "
+"to the <application>Same GNOME</application> code. From this listing, we can "
+"see instantly that the problem code is load_scenario."
+msgstr ""
+"La première ligne indique que nous nous trouvons au quatrième niveau dans la "
+"profondeur de pile. Au dessous, suit une liste des appels de fonctions "
+"menant de ce point à <literal>gdk_pixbuf_new</literal>. Enfin, vient une "
+"liste des fonctions situées au niveau immédiatement inférieur appelant ces "
+"fonctions. Bien entendu, les entrées pour les niveaux 1, 2 et 3 existent, "
+"mais le 4 est le premier niveau qui arrive directement jusqu'au code GDK de "
+"<application>Same GNOME</application>. Ã? partir de cette liste, nous voyons "
+"instantanément que le problème se situe au niveau du code de "
+"<function>load_scenario</function>."
+
+#: C/optimization-massif.xml:98(para)
+msgid ""
+"Now that we know what part of our code is using all the spacetime we can "
+"look at it and find out why. It turns out that the load_scenario is loading "
+"a pixbuf from file and then never freeing that memory. Having identified the "
+"problem code, we can start to fix it."
+msgstr ""
+"Maintenant que nous connaissons la partie du code qui utilise tout "
+"l'espace*temps mémoire, nous pouvons l'examiner et rechercher pourquoi. Il "
+"s'avère que <literal>load_scenario</literal> charge une image "
+"<literal>pixbuf</literal> à partir d'un fichier, puis ne libère jamais cette "
+"mémoire. Ayant identifié le code à problème, nous pouvons corriger."
+
+#: C/optimization-massif.xml:103(title)
+msgid "Acting on the Results"
+msgstr "Modification des résultats"
+
+#: C/optimization-massif.xml:104(para)
+msgid ""
+"Reducing spacetime consumption is good, but there are two ways of reducing "
+"it and they are not equal. You can either reduce the amount of memory "
+"allocated, or reduce the amount of time it is allocated for. Consider for a "
+"moment a model system with only two processes running. Both processes use up "
+"almost all the physical RAM and if they overlap at all then the system will "
+"swap and everything will slow down. Obviously if we reduce the memory usage "
+"of each process by a factor of two then they can peacefully coexist without "
+"the need for swapping. If instead we reduce the time the memory is allocated "
+"by a factor of two then the two programs can coexist, but only as long as "
+"their periods of high memory use don't overlap. So it is better to reduce "
+"the amount of memory allocated."
+msgstr ""
+"Réduire la consommation d'espace*temps mémoire est une bonne chose, mais il "
+"y a deux façons de faire et elles ne sont pas égales. Vous pouvez, soit "
+"réduire la quantité de mémoire allouée, soit réduire la durée d'allocation. "
+"Considérons un instant un système théorique avec uniquement deux processus "
+"en cours. Ces deux processus utilisent tous deux pratiquement la totalité de "
+"la mémoire RAM physique ; s'ils se superposent pleinement, alors le système "
+"va utiliser la partition de mémoire virtuelle et tout va ralentir. Il est "
+"évident que, si nous divisons par deux la quantité de mémoire utilisée par "
+"chaque processus, ils peuvent paisiblement coexister sans avoir besoin de "
+"l'utiliser. Si, au lieu de cela, nous divisons par deux les durées "
+"d'allocation mémoire, les deux programmes peuvent coexister, toujours sans "
+"virtualiser la mémoire, mais uniquement tant que leurs périodes "
+"d'utilisation de la mémoire haute ne se chevauchent pas. Réduire la quantité "
+"de mémoire allouée est donc préférable."
+
+#: C/optimization-massif.xml:107(para)
+msgid ""
+"Unfortunately, the choice of optimization is also constrained by the needs "
+"of the program. The size of the pixbuf data in <application>Same GNOME</"
+"application> is determined by the size of the game's graphics and cannot be "
+"easily reduced. However, the amount of time it spends loaded into memory can "
+"be drastically reduced. <xref linkend=\"optimization-massif-FIG-output-"
+"optimized\"/> shows the <application>Massif</application> analysis of "
+"<application>Same GNOME</application> after being altered to dispose of the "
+"pixbufs once the images have been loaded into the X server."
+msgstr ""
+"Hélas, les choix d'une optimisation sont également contraints par les "
+"besoins du programme. La taille des données de l'image <literal>pixbuf</"
+"literal> de <application>Same GNOME</application> est déterminée par la "
+"taille des graphiques du jeu et ne peut pas être facilement réduite. "
+"Toutefois, la durée de chargement de l'image <literal>pixbuf</literal> en "
+"mémoire peut être réduite de manière drastique. <xref linkend=\"optimization-"
+"massif-FIG-output-optimized\"/> affiche l'analyse par <application>Massif</"
+"application> de l'application <application>Same GNOME</application> modifiée "
+"pour se débarrasser du <literal>pixbuf</literal> une fois que les images ont "
+"été chargées dans le serveur X."
+
+#: C/optimization-massif.xml:111(title)
+msgid ""
+"<application>Massif</application> output for the optimized <application>Same "
+"GNOME</application> program."
+msgstr ""
+"Sortie <application>Massif</application> pour <application>Same GNOME</"
+"application> optimisé."
+
+#: C/optimization-massif.xml:118(para)
+msgid ""
+"The spacetime use of gdk_pixbuf_new is now a thin band that only spikes "
+"briefly (it is now the sixteenth band down and shaded magenta). As a bonus, "
+"the peak memory use has dropped by 200 kB since the spike occurs before "
+"other memory is allocated. If two processes like this where run together the "
+"chances of the peak memory usage coinciding, and hence the risk of swapping, "
+"would be quite low."
+msgstr ""
+"L'espace*temps utilisé par <literal>gdk_pixbuf_new</literal> n'est "
+"maintenant plus qu'une fine bande qui pointe brièvement (c'est maintenant la "
+"seizième bande à partir du haut colorée en magenta). En prime, le pic de "
+"mémoire s'est affaissé de 200 Ko étant donné que la pointe de demande "
+"intervient avant les autres allocations mémoire. Si deux processus tels que "
+"celui-ci étaient lancés simultanément, les chances pour les pics "
+"d'utilisation mémoire coïncident, et en conséquence, les risques "
+"d'utilisation de la mémoire virtuelle, seraient très faibles."
+
+#: C/optimization-massif.xml:121(para)
+msgid ""
+"Can we do better ? A quick examination of <application>Massif</"
+"application>'s text output reveals: g_strdup to be the new major offender."
+msgstr ""
+"Pouvons-nous faire mieux ? Un examen rapide de la sortie texte de "
+"<application>Massif</application> révèle que <function>g_strdup</function> "
+"serait maintenant le nouveau coupable."
+
+#: C/optimization-massif.xml:124(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"Command: ./same-gnome \n"
+"\n"
+"== 0 ===========================\n"
+"Heap allocation functions accounted for 87.6% of measured spacetime\n"
+"\n"
+"Called from:\n"
+"    7.7% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"\n"
+"    7.6% : 0x43BC9F: (within /usr/lib/libgdk-x11-2.0.so.0.400.9)\n"
+"\n"
+"    6.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+"\n"
+"    5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
+"        "
+msgstr ""
+"\n"
+"Command: ./same-gnome \n"
+"\n"
+"== 0 ===========================\n"
+"Heap allocation functions accounted for 87.6% of measured spacetime\n"
+"\n"
+"Called from:\n"
+"    7.7% : 0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"\n"
+"    7.6% : 0x43BC9F: (within /usr/lib/libgdk-x11-2.0.so.0.400.9)\n"
+"\n"
+"    6.9% : 0x510B3C: (within /usr/lib/libfreetype.so.6.3.7)\n"
+"\n"
+"    5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
+"        "
+
+#: C/optimization-massif.xml:139(para)
+msgid ""
+"If we look closer though we see that it is called from many, many, places."
+msgstr ""
+"Si nous regardons de plus près, nous voyons qu'il est appelé en de très, "
+"très nombreux endroits."
+
+#: C/optimization-massif.xml:142(programlisting)
+#, no-wrap
+msgid ""
+"\n"
+"== 1 ===========================\n"
+"Context accounted for  7.7% of measured spacetime\n"
+"  0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"\n"
+"Called from:\n"
+"    1.8% : 0x8BF606: gtk_icon_source_copy (in /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+"\n"
+"    1.1% : 0x67AF6B: g_param_spec_internal (in /usr/lib/libgobject-2.0.so.0.400.6)\n"
+"\n"
+"    0.9% : 0x91FCFC: (within /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+"\n"
+"    0.8% : 0x57EEBF: g_quark_from_string (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"\n"
+"  and 155 other insignificant places\n"
+"        "
+msgstr ""
+"\n"
+"== 1 ===========================\n"
+"Context accounted for  7.7% of measured spacetime\n"
+"  0x5A32A5: g_strdup (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"\n"
+"Called from:\n"
+"    1.8% : 0x8BF606: gtk_icon_source_copy (in /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+"\n"
+"    1.1% : 0x67AF6B: g_param_spec_internal (in /usr/lib/libgobject-2.0.so.0.400.6)\n"
+"\n"
+"    0.9% : 0x91FCFC: (within /usr/lib/libgtk-x11-2.0.so.0.400.9)\n"
+"\n"
+"    0.8% : 0x57EEBF: g_quark_from_string (in /usr/lib/libglib-2.0.so.0.400.6)\n"
+"\n"
+"  and 155 other insignificant places\n"
+"        "
+
+# une bonne traduction pour heap admin ?
+#: C/optimization-massif.xml:158(para)
+msgid ""
+"We now face diminishing returns for our optimization efforts. The graph "
+"hints at another possible approach: Both the \"other\" and \"heap admin\" "
+"bands are quite large. This tells us that there are a lot of small "
+"allocations are being made from a variety of places. Eliminating these will "
+"be difficult, but if they can be grouped then the individual allocations can "
+"be larger and the \"heap admin\" overhead can be reduced."
+msgstr ""
+"Nous voila maintenant confrontés à la diminution du rendement de nos efforts "
+"d'optimisation. Le graphique suggère une autre approche possible : les deux "
+"bandes <literal>other</literal> et <literal>heap admin</literal> sont "
+"relativement importantes. C'est la marque d'une multitude de petites "
+"allocations réalisées à divers endroits. Les éliminer est difficile, mais "
+"s'il est possible de les regrouper, les allocations unitaires seront plus "
+"grandes et le temps système du <literal>heap admin</literal> en sera réduit."
+
+#: C/optimization-massif.xml:163(title)
+msgid "Caveats"
+msgstr "Avertissements"
+
+#: C/optimization-massif.xml:164(para)
+msgid ""
+"There are a couple of things to watch out for: Firstly, spacetime is only "
+"reported as a percentage, you have to compare it to the overall size of the "
+"program to decide if the amount of memory is worth pursuing. The graph, with "
+"its kilobyte vertical axis, is good for this."
+msgstr ""
+"Il faut faire attention à deux choses : d'une part, la quantité espace*temps "
+"est uniquement restituée en pourcentage ; il faut la rapporter à la taille "
+"globale du programme pour décider si la quantité de mémoire mérite une "
+"optimisation. L'axe vertical du graphique, gradué en kilo-octets, vous "
+"aidera à prendre cette décision."
+
+#: C/optimization-massif.xml:167(para)
+msgid ""
+"Secondly, <application>Massif</application> only takes into account the "
+"memory used by your own program. Resources like pixmaps are stored in the X "
+"server and aren't considered by <application>Massif</application>. In the "
+"<application>Same GNOME</application> example we have actually only moved "
+"the memory consumption from client-side pixbufs to server-side pixmaps. Even "
+"though we cheated there are performance gains. Keeping the image data in the "
+"X server makes the graphics routines quicker and removes a lot of inter-"
+"process communication. Also, the pixmaps will be stored in a native graphics "
+"format which is often more compact than the 32-bit RGBA format used by "
+"gdk_pixbuf. To measure the effect of pixmaps, and other X resources use the "
+"<ulink type=\"http\" url=\"http://www.freedesktop.org/Software/xrestop";
+"\">xrestop</ulink> program."
+msgstr ""
+"D'autre part, <application>Massif</application> ne prend en compte que la "
+"mémoire utilisée par votre propre programme. Des ressources telles que les "
+"images sont stockées dans le serveur X et <application>Massif</application> "
+"ne les prend pas en considération. Dans l'exemple <application>Same GNOME</"
+"application> nous avons en réalité seulement déplacé la consommation mémoire "
+"des images <literal>pixbufs</literal> côté client vers les images "
+"<literal>pixmap</literal> côté serveur. Même si c'est une tromperie, nous "
+"obtenons une amélioration des performances. Garder les données de l'image "
+"dans le serveur X accélère les routines graphiques et supprime un certain "
+"nombre de communications entre processus. Ã?galement, les images sont "
+"stockées au format graphique natif qui est souvent plus compact que le "
+"format RGBA 32 bits utilisé par <literal>gdk_pixbuf</literal>. Pour mesurer "
+"l'incidence des images et autres ressources X, utilisez le programme <ulink "
+"type=\"http\" url=\"http://www.freedesktop.org/Software/xrestop";
+"\"><literal>xrestop</literal></ulink>."
+
+#: C/optimization-harmful.xml:3(title)
+msgid "Disk Seeks Considered Harmful"
+msgstr "Effets dommageables des recherches sur disque"
+
+#: C/optimization-harmful.xml:5(para)
+msgid ""
+"Disk seeks are one of the most expensive operations you can possibly "
+"perform. You might not know this from looking at how many of them we "
+"perform, but trust me, they are. Consequently, please refrain from the "
+"following suboptimal behavior:"
+msgstr ""
+"La recherche sur disque est une des opérations les plus coûteuses que vous "
+"puissiez peut-être réaliser. Vous pouvez ne pas le savoir à partir de "
+"l'examen du décompte des recherches effectuées, mais croyez-moi, elles sont "
+"coûteuses. Par conséquent, abstenez-vous des piètres comportements ci-après :"
+
+#: C/optimization-harmful.xml:10(para)
+msgid "Placing lots of small files all over the disk."
+msgstr "disperser nombre de petits fichiers un peu partout dans le disque,"
+
+#: C/optimization-harmful.xml:15(para)
+msgid "Opening, stating, and reading lots of files all over the disk"
+msgstr "ouvrir, inspecter et lire beaucoup de fichiers partout sur le disque."
+
+#: C/optimization-harmful.xml:20(para)
+msgid ""
+"Doing the above on files that are laid out at different times, so as to "
+"ensure that they are fragmented and cause even more seeking."
+msgstr ""
+"exécuter les opérations précédentes sur des fichiers montés à plusieurs "
+"reprises, comme pour s'assurer de leur fragmentation et provoquer des "
+"recherches encore plus coûteuses,"
+
+#: C/optimization-harmful.xml:25(para)
+msgid ""
+"Doing the above on files that are in different directories, so as to ensure "
+"that they are in different cylinder groups and and cause even more seeking."
+msgstr ""
+"exécuter les opérations précédentes sur des fichiers situés dans des "
+"répertoires différents, comme pour s'assurer qu'ils soient dans des groupes "
+"de pistes différents et provoquer des recherches encore plus coûteuses,"
+
+#: C/optimization-harmful.xml:30(para)
+msgid "Repeatedly doing the above when it only needs to be done once."
+msgstr ""
+"faire les opérations précédentes plusieurs fois alors qu'on aurait pu se "
+"contenter d'une."
+
+#: C/optimization-harmful.xml:35(para)
+msgid "Ways in which you can optimize your code to be seek-friendly:"
+msgstr ""
+"Voici des conseils pour optimiser votre code pour des recherches optimales :"
+
+#: C/optimization-harmful.xml:40(para)
+msgid "Consolidate data into a single file."
+msgstr "rassemblez les données dans un seul fichier,"
+
+#: C/optimization-harmful.xml:45(para)
+msgid "Keep data together in the same directory."
+msgstr "gardez l'ensemble des données dans un même répertoire,"
+
+#: C/optimization-harmful.xml:50(para)
+msgid "Cache data so as to not need to reread constantly."
+msgstr ""
+"mettez en cache les données afin de ne pas avoir à les relire constamment,"
+
+#: C/optimization-harmful.xml:55(para)
+msgid ""
+"Share data so as not to have to reread it from disk when each application "
+"loads."
+msgstr ""
+"partagez les données afin de ne pas avoir à les relire à partir du disque à "
+"chaque chargement de l'application,"
+
+#: C/optimization-harmful.xml:60(para)
+msgid ""
+"Consider caching all of the data in a single binary file that is properly "
+"aligned and can be mmaped."
+msgstr ""
+"envisagez la mise en cache de toutes les données dans un fichier binaire "
+"unique, bien aligné et qui peut être mappé."
+
+#: C/optimization-harmful.xml:65(para)
+msgid ""
+"The trouble with disk seeks are compounded for reads, which is unfortunately "
+"what we are doing. Remember, reads are generally synchronous while writes "
+"are asynchronous. This only compounds the problem, serializing each read, "
+"and contributing to program latency."
+msgstr ""
+"Le problème de la recherche sur disque est aggravé dans le cas des lectures, "
+"qui est malheureusement ce que nous faisons. N'oubliez pas, les lectures "
+"s'effectuent en règle générale de manière synchrone tandis que les écritures "
+"s'effectuent de manière asynchrone. Ce seul fait complique le problème : "
+"sérialiser chaque lecture contribue à la latence du programme."
+
+#: C/optimization-guide.xml:5(title)
+msgid "Optimizing GNOME Software"
+msgstr "Optimisation d'un logiciel GNOME"
+
+#: C/optimization-guide.xml:8(publishername) C/optimization-guide.xml:56(para)
+msgid "GNOME Documentation Project"
+msgstr "Projet de Documentation GNOME"
+
+#: C/optimization-guide.xml:11(year) C/optimization-guide.xml:15(year)
+msgid "2004-2005"
+msgstr "2004-2005"
+
+#: C/optimization-guide.xml:12(holder)
+msgid "Callum McKenzie"
+msgstr "Callum McKenzie"
+
+#: C/optimization-guide.xml:16(holder)
+msgid "Robert Love"
+msgstr "Robert Love"
+
+#: C/optimization-guide.xml:20(firstname)
+msgid "Callum"
+msgstr "Callum"
+
+#: C/optimization-guide.xml:21(surname)
+msgid "McKenzie"
+msgstr "McKenzie"
+
+#: C/optimization-guide.xml:24(firstname)
+msgid "Robert"
+msgstr "Robert"
+
+#: C/optimization-guide.xml:25(surname)
+msgid "Love"
+msgstr "Love"
+
+#: C/optimization-guide.xml:29(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the <citetitle>GNU Free Documentation License</citetitle>, "
+"Version 1.1 or any later version published by the Free Software Foundation "
+"with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. "
+"You may obtain a copy of the <citetitle>GNU Free Documentation License</"
+"citetitle> from the Free Software Foundation by visiting <ulink type=\"http"
+"\" url=\"http://www.fsf.org\";>their Web site</ulink> or by writing to: Free "
+"Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-"
+"1307, USA."
+msgstr ""
+"Permission vous est donnée de copier, distribuer et/ou modifier ce document "
+"selon les termes de la <citetitle>licence de documentation libre GNU</"
+"citetitle>, Version 1.1 ou ultérieure publiée par la Free Software "
+"Foundation sans section inaltérable, sans texte de première page de "
+"couverture ni texte de dernière page de couverture. Vous trouverez un "
+"exemplaire de la <citetitle>licence de documentation libre GNU</citetitle> "
+"en suivant ce <ulink type=\"http\" url=\"http://www.fsf.org\";>lien</ulink> "
+"ou en écrivant à : Free Software Foundation, Inc., 59 Temple Place - Suite "
+"330, Boston, MA 02111-1307, USA."
+
+#: C/optimization-guide.xml:41(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any GNOME "
+"documentation, and those trademarks are made aware to the members of the "
+"GNOME Documentation Project, the names have been printed in caps or initial "
+"caps."
+msgstr ""
+"La plupart des noms utilisés par les entreprises pour distinguer leurs "
+"produits et services sont des marques déposées. Lorsque ces noms "
+"apparaissent dans la documentation GNOME et que les membres du projet de "
+"Documentation GNOME sont informés de l'existence de ces marques déposées, "
+"soit ces noms entiers, soit leur première lettre est en majuscule."
+
+#: C/optimization-guide.xml:52(revnumber)
+msgid "0.1"
+msgstr "0.1"
+
+#: C/optimization-guide.xml:53(date)
+msgid "November 2007"
+msgstr "Novembre 2007"
+
+#: C/optimization-guide.xml:55(para)
+msgid "William Johnston"
+msgstr "William Johnston"
+
+#: C/optimization-guide.xml:57(para)
+msgid "Intial conversion to docbook format."
+msgstr "Conversion initiale au format docbook."
+
+#: C/optimization-guide.xml:63(para)
+msgid ""
+"Software can be optimized in many ways: for speed, program size, or memory "
+"use. This section contains guides and tutorials for optimizing your software."
+msgstr ""
+"Un logiciel peut être optimisé de plusieurs façons : pour la vitesse, la "
+"taille du programme ou l'utilisation de la mémoire. Cette section contient "
+"conseils et tutoriels pour optimiser les logiciels."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/optimization-guide.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Nicolas Repentin <nicolas repentin gmail com>, 2009\n"
+"Gérard Baylard <Geodebay gmail com>, 2010\n"
+"Bruno Brouard <annoa b gmail com>, 2010"



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]