[gnome-devel-docs] Updated German translation



commit 1876696bcd40a3f6935524603b52a43fb857acb9
Author: Mario Blättermann <mario blaettermann gmail com>
Date:   Wed Dec 30 10:57:37 2015 +0100

    Updated German translation

 optimization-guide/de/de.po | 1770 ++++++++++++++++++++++---------------------
 1 files changed, 890 insertions(+), 880 deletions(-)
---
diff --git a/optimization-guide/de/de.po b/optimization-guide/de/de.po
index 7bb0991..aeb3587 100644
--- a/optimization-guide/de/de.po
+++ b/optimization-guide/de/de.po
@@ -1,187 +1,116 @@
 # German translation for gnome-devel-docs (accessibility handbook).
 # Copyright (C) 2009 gnome-devel-docs's COPYRIGHT HOLDER
 # This file is distributed under the same license as the gnome-devel-docs package.
-# Mario Blättermann <mario blaettermann gmail com>, 2009, 2010, 2012, 2013.
+# Mario Blättermann <mario blaettermann gmail com>, 2009-2010, 2012-2013, 2015.
 # Christian Kirbach <Christian Kirbach googlemail com>, 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs master\n"
-"POT-Creation-Date: 2012-10-31 14:51+0000\n"
-"PO-Revision-Date: 2013-03-12 22:05+0100\n"
+"POT-Creation-Date: 2015-12-30 08:54+0000\n"
+"PO-Revision-Date: 2015-12-30 10:53+0100\n"
 "Last-Translator: Mario Blättermann <mario blaettermann gmail com>\n"
 "Language-Team: Deutsch <gnome-de gnome org>\n"
-"Language: \n"
+"Language: de_DE\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"
-"X-Poedit-Language: German\n"
-"X-Poedit-Country: GERMANY\n"
 "X-Poedit-SourceCharset: utf-8\n"
+"X-Generator: Poedit 1.8.5\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
 msgctxt "_"
 msgid "translator-credits"
 msgstr ""
-"Mario Blättermann <mario blaettermann gmail com>, 2009, 2012, 2013\n"
+"Mario Blättermann <mario blaettermann gmail com>, 2009, 2012, 2013, 2015\n"
 "Christian Kirbach <christian kirbach googlemail com>, 2010"
 
-#: C/index.docbook:5(book/title)
-msgid "Optimizing GNOME Software"
-msgstr "Optimieren von GNOME-Software"
-
-#: C/index.docbook:8(publisher/publishername)
-#: C/index.docbook:56(revdescription/para)
-msgid "GNOME Documentation Project"
-msgstr "GNOME-Dokumentationsprojekt"
-
-#: C/index.docbook:10(bookinfo/copyright)
-msgid "<year>2004-2005</year> <holder>Callum McKenzie</holder>"
-msgstr "<year>2004-2005</year> <holder>Callum McKenzie</holder>"
-
-#: C/index.docbook:14(bookinfo/copyright)
-msgid "<year>2004-2005</year> <holder>Robert Love</holder>"
-msgstr "<year>2004-2005</year> <holder>Robert Love</holder>"
-
-#: C/index.docbook:19(bookinfo/author)
-msgid "<firstname>Callum</firstname> <surname>McKenzie</surname>"
-msgstr "<firstname>Callum</firstname> <surname>McKenzie</surname>"
-
-#: C/index.docbook:23(bookinfo/author)
-msgid "<firstname>Robert</firstname> <surname>Love</surname>"
-msgstr "<firstname>Robert</firstname> <surname>Love</surname>"
-
-#: C/index.docbook:29(legalnotice/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 ""
-"Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free "
-"Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free "
-"Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte "
-"sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt "
-"und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem "
-"<ulink type=\"help\" url=\"ghelp:fdl\">Link</ulink> oder in der mit diesem "
-"Handbuch gelieferten Datei COPYING-DOCS."
-
-#: C/index.docbook:41(legalnotice/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 ""
-"Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und "
-"Dienstleistungen verwendeten Namen handelt es sich um Marken. An den Stellen, "
-"an denen derartige Namen in einer GNOME-Dokumentation vorkommen und wenn die "
-"Mitglieder des GNOME-Dokumentationsprojekts über diese Marken informiert "
-"wurden, sind die Namen in Großbuchstaben oder mit großen Anfangsbuchstaben "
-"geschrieben."
-
-#: C/index.docbook:55(revdescription/para)
-msgid "William Johnston"
-msgstr "William Johnston"
-
-#: C/index.docbook:57(revdescription/para)
-msgid "Intial conversion to docbook format."
-msgstr "Erstmalige Umwandlung in das DocBook-Format."
-
-#: C/index.docbook:51(revhistory/revision)
-msgid ""
-"<revnumber>0.1</revnumber> <date>November 2007</date> <_:revdescription-1/>"
-msgstr ""
-"<revnumber>0.1</revnumber> <date>November 2007</date> <_:revdescription-1/>"
-
-#: C/index.docbook:63(abstract/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 ""
-"Die Optimierung von Software kann verschiedene Ziele verfolgen: "
-"Geschwindigkeit, Programmgröße oder Speicherverbrauch. Dieser Abschnitt "
-"enthält Leitfäden und Anleitungen zum Optimieren Ihrer Software."
-
-#: C/optimization-harmful.xml:3(chapter/title)
+#. (itstool) path: page/title
+#: C/harmful.page:7
 msgid "Disk Seeks Considered Harmful"
 msgstr "Laufwerkszugriffe werden als nachteilig angesehen"
 
-#: C/optimization-harmful.xml:5(chapter/para)
+#. (itstool) path: page/p
+#. (itstool) path: section/p
+#: C/harmful.page:8 C/index.page:54
 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:"
+"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 ""
 "Laufwerkszugriffe sind die wohl aufwändigsten Vorgänge, die Sie überhaupt "
 "ausführen können. Sie wissen das womöglich nicht aufgrund der Anzahl der "
 "Ausführungen, aber glauben Sie mir, dass sie es sind. Folglich vermeiden Sie "
 "bitte das folgende ungünstige Verhalten:"
 
-#: C/optimization-harmful.xml:10(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:13
 msgid "Placing lots of small files all over the disk."
 msgstr "Viele kleine Dateien auf dem gesamten Laufwerk verteilen."
 
-#: C/optimization-harmful.xml:15(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:18
 msgid "Opening, stating, and reading lots of files all over the disk"
 msgstr "Öffnen, stat() ausführen und lesen vieler Dateien vom gesamten Laufwerk"
 
-#: C/optimization-harmful.xml:20(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:23
 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."
+"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 ""
 "Obiges mit Dateien tun, die zu verschiedenen Zeitpunkten erstellt wurden, so "
 "dass sie fragmentiert sind und noch mehr Plattenaktivität verursachen."
 
-#: C/optimization-harmful.xml:25(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:28
 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."
+"that they are in different cylinder groups and cause even more seeking."
 msgstr ""
-"Obiges mit Dateien tun, die sich in verschiedenen Ordnern befinden, so dass "
-"auf verschiedene Zylindergruppen zugegriffen wird und so noch mehr "
-"Plattenaktivität verursacht wird."
+"Obiges mit Dateien tun, die sich in verschiedenen Ordnern befinden, so dass auf "
+"verschiedene Zylindergruppen zugegriffen wird und so noch mehr Plattenaktivität "
+"verursacht wird."
 
-#: C/optimization-harmful.xml:30(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:33
 msgid "Repeatedly doing the above when it only needs to be done once."
 msgstr "Wiederholt obiges tun, obwohl es nur einmal getan werden muss."
 
-#: C/optimization-harmful.xml:35(chapter/para)
+#. (itstool) path: page/p
+#: C/harmful.page:38
 msgid "Ways in which you can optimize your code to be seek-friendly:"
 msgstr "Mögliche Wege, wie Sie Ihren Code suchfreundlich optimieren können:"
 
-#: C/optimization-harmful.xml:40(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:43
 msgid "Consolidate data into a single file."
 msgstr "Fassen Sie Daten in einer einzigen Datei zusammen."
 
-#: C/optimization-harmful.xml:45(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:48
 msgid "Keep data together in the same directory."
 msgstr "Halten Sie Daten im gleichen Ordner vor."
 
-#: C/optimization-harmful.xml:50(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:53
 msgid "Cache data so as to not need to reread constantly."
 msgstr ""
 "Speichern Sie Daten zwischen, so dass sie nicht fortwährend erneut eingelesen "
 "werden müssen."
 
-#: C/optimization-harmful.xml:55(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:58
 msgid ""
-"Share data so as not to have to reread it from disk when each application "
-"loads."
+"Share data so as not to have to reread it from disk when each application loads."
 msgstr ""
-"Geben Sie Daten frei, so dass sie nicht beim Laden von Anwendungen immer "
-"wieder erneut gelesen werden müssen."
+"Geben Sie Daten frei, so dass sie nicht beim Laden von Anwendungen immer wieder "
+"erneut gelesen werden müssen."
 
-#: C/optimization-harmful.xml:60(listitem/para)
+#. (itstool) path: item/p
+#: C/harmful.page:63
 msgid ""
 "Consider caching all of the data in a single binary file that is properly "
 "aligned and can be mmaped."
@@ -189,7 +118,8 @@ msgstr ""
 "Erwägen Sie, alle Daten in einer einzigen Binärdatei zwischenzuspeichern, die "
 "sauber aufgebaut ist und mit mmap verarbeitbar ist."
 
-#: C/optimization-harmful.xml:65(chapter/para)
+#. (itstool) path: page/p
+#: C/harmful.page:68
 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 "
@@ -201,148 +131,684 @@ msgstr ""
 "Schreiben asynchron verläuft. Das verschlimmert nur das Problem mit jedem "
 "seriellen Lesevorgang und trägt zu Programmverzögerungen bei."
 
+#. (itstool) path: license/p
+#: C/index.page:7
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under the "
+"terms of the GNU Free Documentation License, 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 GNU Free "
+"Documentation License from the Free Software Foundation by visiting <link href="
+"\"http://www.fsf.org\";>their Web site</link> or by writing to: Free Software "
+"Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA 02110-1335, USA."
+msgstr ""
+"Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free Documentation "
+"License (GFDL), Version 1.1 oder jeder späteren, von der Free Software "
+"Foundation veröffentlichten Version ohne unveränderbare Abschnitte sowie ohne "
+"Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt und/oder "
+"modifiziert werden. Eine Kopie der GFDL finden Sie auf der <link href=\"http://";
+"www.fsf.org\">Webseite der Free Software Foundation</link> oder schreiben Sie "
+"an: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor Boston, MA "
+"02110-1335, USA."
+
+#. (itstool) path: license/p
+#: C/index.page:16
+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 ""
+"Bei vielen der von Firmen zur Unterscheidung ihrer Produkte und "
+"Dienstleistungen verwendeten Namen handelt es sich um Marken. An den Stellen, "
+"an denen derartige Namen in einer GNOME-Dokumentation vorkommen und wenn die "
+"Mitglieder des GNOME-Dokumentationsprojekts über diese Marken informiert "
+"wurden, sind die Namen in Großbuchstaben oder mit großen Anfangsbuchstaben "
+"geschrieben."
+
+#. (itstool) path: credit/years
+#: C/index.page:24 C/index.page:28
+msgid "2004-2005"
+msgstr "2004-2005"
+
+#. (itstool) path: credit/name
+#: C/index.page:25
+msgid "Callum McKenzie"
+msgstr "Callum McKenzie"
+
+#. (itstool) path: credit/name
+#: C/index.page:29
+msgid "Robert Love"
+msgstr "Robert Love"
+
+#. (itstool) path: info/desc
+#: C/index.page:32
+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 ""
+"Die Optimierung von Software kann verschiedene Ziele verfolgen: "
+"Geschwindigkeit, Programmgröße oder Speicherverbrauch. Dieser Abschnitt enthält "
+"Leitfäden und Anleitungen zum Optimieren Ihrer Software."
+
+#. (itstool) path: page/title
+#: C/index.page:35
+msgid "Optimization Guide"
+msgstr "Optimierungs-Handbuch"
+
+#. (itstool) path: section/title
+#: C/index.page:38 C/massif.page:12
+msgid "Introduction"
+msgstr "Einführung"
+
+#. (itstool) path: section/p
+#: C/index.page:39
+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 ""
+"Dies ist eine kurze Einführung in die Optimierung und behandelt sowohl das Wie "
+"als auch das Warum. Details zu individuellen Werkzeugen verschieben wir auf "
+"spätere Artikel, eine Sammlung aus Hinweisen und Tricks ist jedoch enthalten."
+
+#. (itstool) path: section/title
+#: C/index.page:45
+msgid "Massif"
+msgstr "Massif"
+
+#. (itstool) path: section/p
+#. (itstool) path: page/p
+#: C/index.page:46 C/massif.page:9
+msgid ""
+"This article describes how to use the <app>Massif</app> heap profiler with "
+"GNOME applications. We describe how to invoke, interpret, and act on the output "
+"of <app>Massif</app>. The <app>Swell Foop</app> game is used as an example."
+msgstr ""
+"Dieser Artikel beschreibt, wie Sie den Heap-Profiler <app>Massif</app> mit "
+"GNOME-Anwendungen verwenden. Wir beschreiben den Aufruf, die Interpretation und "
+"die Möglichkeiten, die Ausgaben von <app>Massif</app> richtig zu nutzen. Das "
+"Spiel <app>Swell Foop</app> wird als Beispiel verwendet."
+
+#. (itstool) path: section/title
+#: C/index.page:53
+msgid "Harmfulness"
+msgstr "Schädlichkeit"
+
+#. (itstool) path: page/title
+#: C/introduction.page:7
+msgid "What are we Optimizing?"
+msgstr "Was optimieren wir?"
+
+#. (itstool) path: page/p
+#: C/introduction.page:8
+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 ""
+"Sie sollten bei der Optimierung für GNOME zunächst eines bedenken: Wir "
+"versuchen nicht, das Programm zu verbessern, sondern wir versuchen, die "
+"Benutzer glücklicher zu machen."
+
+#. (itstool) path: page/p
+#: C/introduction.page:10
+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 ""
+"Bessere Programme machen die Benutzer glücklicher, aber es gibt "
+"Verbesserungsmöglichkeiten, die sie viel glücklicher machen werden als Andere: "
+"Ansprechzeit, Startzeit, leichter Zugriff auf Befehle. Der Rechner sollte auch "
+"nicht sofort den Auslagerungsspeicher benutzen müssen, wenn mehr als eine "
+"Anwendung geöffnet ist."
+
+#. (itstool) path: page/p
+#: C/introduction.page:13
+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 ""
+"Die traditionelle Optimierung umfasst Konzepte wie Prozessorlast, Umfang des "
+"Codes, die Anzahl der Mausklicks sowie die Speichernutzung des Programms. Die "
+"folgende Auflistung sollte die erste Liste ergänzen, wobei ein grundlegender "
+"Unterschied besteht: Ein GNOME-Benutzer schenkt der zweiten Liste keine "
+"Beachtung, während der ersten Liste sehr wohl Aufmerksamkeit gewidmet wird. "
+"Beim Optimieren von GNOME-Programmen sollen die Prozessorlast, der "
+"Speicherverbrauch und all diese Dinge optimiert werden, aber das sind die "
+"Bedeutungen, nicht das Endziel. Wir optimieren für Benutzer."
+
+#. (itstool) path: section/title
+#: C/introduction.page:18
+msgid "Doing the Optimization"
+msgstr "Ausführung der Optimierung"
+
+#. (itstool) path: section/p
+#: C/introduction.page:19
+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 ""
+"Aus dem vorigen Abschnitt wurde deutlich: Um etwas optimieren zu können, muss "
+"es messbar sein. Sie können Zufriedenheit nicht messen, aber Sie können sehr "
+"wohl Startzeiten messen, um sagen zu können, dass Sie sie verbessert haben. Die "
+"Zufriedenheit wird dann - hoffentlich - folgen."
+
+#. (itstool) path: section/p
+#: C/introduction.page:22
+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 <em>should</"
+"em> be fast and a program that <em>is</em> fast."
+msgstr ""
+"Optimierung ist ein Prozess des Messens, der Verfeinerung und erneuten Messens. "
+"Daher müssen Sie zunächst einen Weg finden, das zu messen, was Sie optimieren "
+"wollen. Idealerweise ist dieser Messwert eine einzige Zahl, beispielsweise die "
+"Zeit, die für die Ausführung einer Aufgabe benötigt wird. Dies ist Ihr Maßstab, "
+"es ist der einzige Weg festzustellen, ob Sie auf der Gewinner- oder der "
+"Verliererseite sind. Es ist ein sehr wesentlicher Unterschied, ob ein Programm "
+"schnell sein <em>sollte</em> oder ob es tatsächlich schnell <em>ist</em>."
+
+#. (itstool) path: section/p
+#: C/introduction.page:25
+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 ""
+"Sobald Sie einen Ausgangsmaßstab gefunden haben, müssen Sie nun herausfinden, "
+"warum Ihr Code seine Aufgabe nicht so gut erledigt, wie er es eigentlich "
+"sollte. Es ist verlockend, dies durch eine einfache Sichtung zu tun: Sich den "
+"Code anzuschauen und etwas zu finden, dass verbesserungswürdig scheint. Doch "
+"Sie werden immer falsch liegen. Der einzig sichere Weg ist es, einen Profiler "
+"für eine detaillierte Aufschlüsselung der Programmaktivitäten zu verwenden."
+
+#. (itstool) path: section/p
+#: C/introduction.page:28
+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 ""
+"Gewöhnlich ist das Problem auf kleine Code-Abschnitte beschränkt. Wählen Sie "
+"den schlimmsten Teil und konzentrieren Sie sich zuerst darauf. Führen Sie den "
+"Profiler erneut aus und wiederholen Sie den Arbeitsschritt, sobald dies "
+"erledigt ist. Wenn Sie so arbeiten, werden die Gewinne mit jedem Schritt "
+"geringer. Ab einem bestimmten Punkt müssen Sie entscheiden, dass die Ergebnisse "
+"gut genug sind. Wenn Ihre Bemühungen nur 10% Verbesserung ergeben, dann sind "
+"Sie bereits weit über den Punkt hinaus, wo Sie hätten stoppen sollen."
+
+#. (itstool) path: section/p
+#: C/introduction.page:31
+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 ""
+"Vergessen Sie nicht das Gesamtbild. Zum Beispiel sollten Sie sich fragen, ob "
+"der Code überhaupt unbedingt ausgeführt werden muss, statt seine "
+"Geschwindigkeit zu verbessern. Kann er mit anderem Code kombiniert werden? "
+"Können bereits ausgeführte Berechnungen gespeichert und später wieder verwertet "
+"werden? Eine Optimierung kann man sich auch sparen, wenn der Code dort "
+"ausgeführt wird, wo ihn der Benutzer niemals bemerken wird. Noch schlimmer, der "
+"Code ist eventuell bereits optimiert und führt kostspielige Berechnungen jetzt "
+"aus, um dies später zu vermeiden. Code läuft nicht isoliert und ebenso wenig "
+"der Optimierungsprozess."
+
+#. (itstool) path: section/title
+#: C/introduction.page:37
+msgid "Hints"
+msgstr "Hinweise"
+
+#. (itstool) path: item/title
+#: C/introduction.page:41
+msgid "The Fundamentals"
+msgstr "Die Grundlagen"
+
+#. (itstool) path: item/p
+#: C/introduction.page:44
+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 ""
+"Bilden Sie einen Maßstab nach jeder Code-Änderung aus und führen Sie Buch über "
+"alle Änderungen, und wie sie den Maßstab beeinflussen. So können Sie Fehler "
+"rückgängig machen und in Zukunft erst gar nicht wiederholen."
+
+#. (itstool) path: item/p
+#: C/introduction.page:49
+msgid ""
+"Make sure your code is correct and bug-free before optimizing it. Check that it "
+"remains correct and bug-free after optimization."
+msgstr ""
+"Stellen Sie sicher, dass Ihr Code korrekt und fehlerfrei ist, bevor Sie mit der "
+"Optimierung beginnen. Überprüfen Sie nach der Optimierung, ob dies dann auch "
+"noch zutrifft."
+
+#. (itstool) path: item/p
+#: C/introduction.page:54
+msgid "Optimize at the high level before optimizing the details."
+msgstr "Optimieren Sie zunächst auf hoher Ebene, bevor es an die Details geht."
+
+#. (itstool) path: item/p
+#: C/introduction.page:59
+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 ""
+"Verwenden Sie den passenden Algorithmus. Das klassische Beispiel ist, Quick-"
+"Sort statt Bubble-Sort zu verwenden. Es gibt viele andere. Einige belegen wenig "
+"Arbeitsspeicher, andere brauchen wenig Rechenleistung. Schauen Sie auch, ob Sie "
+"Kompromisse eingehen können: Es geht auch schneller als Quick-Sort."
+
+#. (itstool) path: item/p
+#: C/introduction.page:64
+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 ""
+"Optimierungen sind ein Abwägen. Ergebnisse zwischenzuspeichern beschleunigt "
+"Berechnungen, aber erhöht den Speicherverbrauch. Daten auf einen Datenträger zu "
+"speichern spart Arbeitsspeicher, aber kostet Zeit beim Laden vom Datenträger."
+
+#. (itstool) path: item/p
+#: C/introduction.page:69
+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 ""
+"Wählen Sie unbedingt eine große Vielfalt an Eingangsgrößen, die Sie optimieren. "
+"Wenn Sie dies nicht tun, können Sie schnell mit einem sorgfältig für nur eine "
+"einzige Datei optimierten Code enden."
+
+#. (itstool) path: item/p
+#: C/introduction.page:74
+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 ""
+"Vermeiden Sie aufwändige Vorgänge: Mehrere kleine Plattenlesevorgänge, Belegung "
+"von sehr viel Arbeitsspeicher, bis das Auslagern beginnt. Vermeiden Sie "
+"unnötige Schreib- und Lesevorgänge auf Datenträger. Das Netzwerk ist auch "
+"langsam. Vermeiden Sie auch grafische Operationen, die eine Antwort vom X-"
+"Server erfordern."
+
+#. (itstool) path: item/title
+#: C/introduction.page:81
+msgid "Traps for the Unwary"
+msgstr "Fallen für die Unvorsichtigen"
+
+#. (itstool) path: item/p
+#: C/introduction.page:84
+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 ""
+"Nehmen Sie sich vor Nebeneffekten in Acht. Es kann oft seltsame Interaktionen "
+"zwischen verschiedenen Code-Bereichen geben. Eine Geschwindigkeitsverbesserung "
+"in einem Teil kann einen anderen Teil ausbremsen. "
+
+#. (itstool) path: item/p
+#: C/introduction.page:89
+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 ""
+"Beim zeitlichen Abstimmen von Code - auch auf unbelasteten Systemen - sorgen "
+"externe Ereignisse für Unregelmäßigkeiten bei der Zeitplanung. Bilden Sie "
+"Durchschnittswerte von mehreren Durchläufen. Wenn der Code sehr kurz ist, so "
+"kann die Zählergenauigkeit zu einem Problem werden. In diesem Fall messen Sie "
+"die Zeit 100 oder 1000 Mal, die der Rechner zur Abarbeitung braucht. Wenn Sie "
+"Zeitspannen von einigen Sekunden messen, dann sind Sie im grünen Bereich."
+
+#. (itstool) path: item/p
+#: C/introduction.page:94
+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 ""
+"Es ist sehr leicht, vom Profiler in die Irre geführt zu werden. Es gibt "
+"Geschichten über Leute, die die Untätigkeitsphase perfekt optimiert haben, weil "
+"das Programm ja die meiste Zeit in Untätigkeit verbringt! Optimieren Sie keinen "
+"Code, von dessen Wirkung der Benutzer ohnehin keine Notiz nimmt."
+
+#. (itstool) path: item/p
+#: C/introduction.page:99
+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 ""
+"Vergessen Sie nicht den Ressourcenverbrauch des X-Servers. Der "
+"Speicherverbrauch Ihres Programms enthält nicht die Pixmaps, die vom X-Server "
+"verarbeitet werden, aber sie verbrauchen dennoch Speicher. Verwenden Sie "
+"<command>xrestop</command>, um zu sehen, welche Ressourcen Ihr Programm "
+"beansprucht."
+
+#. (itstool) path: item/title
+#: C/introduction.page:106
+msgid "Low Level Hints"
+msgstr "Tipps mit niedrigem Niveau"
+
+#. (itstool) path: item/p
+#: C/introduction.page:109
+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 ""
+"Seien Sie bei der Optimierung des Speicherverbrauchs umsichtig bezüglich des "
+"Unterschieds zwischen Spitzen- und durchschnittlicher Speicherbelegung. Einiger "
+"Speicher wird quasi immer belegt, das ist nicht gut. Einiger wird nur "
+"kurzzeitig belegt, dies ist in Ordnung. Werkzeuge wie »massif« verwenden das "
+"Raum-Zeit-Konzept, d.h. das Produkt von belegtem Arbeitsspeicher und der "
+"Belegungsdauer."
+
+#. (itstool) path: item/p
+#: C/introduction.page:114
+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 ""
+"Stoppen Sie die Zeit vereinfachter Code-Teile, die nur Entscheidendes "
+"erledigen. Dies legt eine absolute untere Grenze für die Laufzeit Ihres Codes "
+"fest. Zum Beispiel sollten Sie beim Optimieren einer Schleife die leere "
+"Schleife stoppen. Wenn dies immer noch zu lang ist, dann wird keine Mikro-"
+"Optimierung Abhilfe schaffen und Sie müssen das grundlegende Design ändern. "
+"Stellen Sie sicher, dass der Compiler dabei nicht ihre leeren Schleifen "
+"rationalisiert."
+
+#. (itstool) path: item/p
+#: C/introduction.page:119
+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 ""
+"Gliedern Sie Code aus Schleifen aus. Ein etwas umfangreicheres Stück Code, das "
+"nur einmal ausgeführt wird, ist um Einiges schneller als ein simples Stück "
+"Code, was dafür tausend Schleifen durchläuft. Vermeiden Sie es, langsamen Code "
+"allzu oft aufzurufen."
+
+#. (itstool) path: item/p
+#: C/introduction.page:124
+msgid ""
+"Give the compiler as many hints as possible. Use the const keyword. Use "
+"<code>G_INLINE_FUNC</code> for short, frequently called, functions. Look up "
+"<code>G_GNUC_PURE</code>, <code>G_LIKELY</code> and the other glib "
+"miscellaneous macros. Use the macros instead of gcc-specific keywords to ensure "
+"portability."
+msgstr ""
+"Geben Sie dem Compiler so viele Hinweise wie möglich. Verwenden Sie das const-"
+"Schlüsselwort. Verwenden Sie <code>G_INLINE_FUNC</code> für kurze, häufig "
+"aufgerufene Funktionen. Schauen Sie nach <code>G_GNUC_PURE</code>, "
+"<code>G_LIKELY</code> und weiteren diversen glib-Makros. Verwenden Sie diese "
+"Makros anstelle der gcc-spezifischen Schlüsselwörter, um die Portierbarkeit zu "
+"erhalten."
+
+#. (itstool) path: item/p
+#: C/introduction.page:129
+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 ""
+"Verwenden Sie keine Assemblersprachen. Sie sind nicht portierbar. Während sie "
+"auf dem einen Prozessor unglaublich schnell sind, ist nicht unbedingt "
+"garantiert, dass dies auf jedem von der Architektur unterstützten Prozessor "
+"genauso ist (beispielsweise Athlon vs Pentium 4)."
+
+#. (itstool) path: item/p
+#: C/introduction.page:134
+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 ""
+"Schreiben Sie eine vorhandene Bibliotheksroutine nicht neu, es sei denn, Sie "
+"sind sich sicher, dass sie unakzeptabel langsam ist. Viele prozessorintensive "
+"Bibliotheksroutinen wurden bereits optimiert. Andererseits sind einige Routinen "
+"tatsächlich langsam, insbesondere diejenigen, die Systemaufrufe an das "
+"Betriebssystem absetzen."
+
+#. (itstool) path: item/p
+#: C/introduction.page:139
+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 ""
+"Halten Sie die Zahl der verlinkten Bibliotheken gering. Je weniger Bibliotheken "
+"gelinkt werden müssen, umso schneller startet das Programm. Dies ist in GNOME "
+"allerdings schwierig."
+
+#. (itstool) path: item/title
+#: C/introduction.page:146
+msgid "High Level Tricks"
+msgstr "Tricks auf hohem Niveau"
+
+#. (itstool) path: item/p
+#: C/introduction.page:149
+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 ""
+"Nutzen Sie Nebenläufigkeit aus. Das bedeutet nicht nur mehrere Prozessoren zu "
+"verwenden, es bedeutet auch die Zeit auszunutzen, in welcher der Anwender über "
+"seine weiteren Aktivitäten nachdenkt, und in Vorausschau einige Berechnungen "
+"auszuführen. Führen Sie Berechnungen aus, während Daten vom Datenträger geladen "
+"werden. Nutzen Sie verschiedene Ressourcen, wenn vorhanden, gleichzeitig."
+
+#. (itstool) path: item/p
+#: C/introduction.page:154
+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 ""
+"Bluffen Sie. Der Benutzer sollte denken, dass sein Rechner schnell ist, aber es "
+"ist gleich, ob er es wirklich ist oder nicht. Die Zeit zwischen dem Befehl und "
+"der darauf folgenden Antwort ist maßgebend. Es ist gleichgültig, ob die Antwort "
+"vorausberechnet wird, zwischengespeichert oder in irgendeiner anderen Weise "
+"später zu einem günstigeren Zeitpunkt ausgewertet wird, solange der Benutzer "
+"genau das bekommt, was er erwartet."
+
+#. (itstool) path: item/p
+#: C/introduction.page:159
+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 ""
+"Erledigen Sie Dinge in der Idle-Schleife. Dies ist einfacher zu programmieren "
+"als Multi-Threading, aber die Dinge geschehen vom Benutzer unbemerkt. Seien Sie "
+"jedoch vorsichtig. Wenn Ihr Programm sehr viel Zeit in der Idle-Schleife "
+"verbringt, dann wird es träge. Stellen Sie sicher, dass die Kontrolle "
+"regelmäßig an die Hauptschleife übergeben wird."
+
+#. (itstool) path: item/p
+#: C/introduction.page:164
+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 ""
+"Falls alles Andere scheitern sollte, informieren Sie den Benutzer mit einem "
+"Fortschrittsbalken drüber, dass es derzeit nur langsam voran geht. Das dürfte "
+"ihm lieber sein, als wenn Sie nur die Ergebnisse präsentieren würden. Er möchte "
+"zumindest wissen, dass das Programm nicht abgestürzt ist und er dann erst "
+"einmal eine Tasse Kaffee trinken gehen kann."
+
+#. (itstool) path: media
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/optimization-massif.xml:52(imagedata)
+#: C/massif.page:50
 msgctxt "_"
 msgid ""
-"external ref='figures/massif-before.png' "
-"md5='1a6b2ace548e6789ab8bfacb3727b345'"
+"external ref='figures/massif-before.png' md5='1a6b2ace548e6789ab8bfacb3727b345'"
 msgstr "ok"
 
+#. (itstool) path: media
 #. This is a reference to an external file such as an image or video. When
 #. the file changes, the md5 hash will change to let you know you need to
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
-#: C/optimization-massif.xml:114(imagedata)
+#: C/massif.page:124
 msgctxt "_"
 msgid ""
 "external ref='figures/massif-after.png' md5='36d1b4ad7ab49b28b69ad3eabbaa7069'"
 msgstr "ok"
 
-#: C/optimization-massif.xml:3(chapter/title)
-msgid ""
-"Using <application>Massif</application> for Profiling Memory Use in GNOME "
-"Software"
+#. (itstool) path: page/title
+#: C/massif.page:7
+msgid "Using <app>Massif</app> for Profiling Memory Use in GNOME Software"
 msgstr ""
-"Verwendung von <application>Massif</application> zur Profilierung des "
-"Speicherverbrauchs in GNOME-Software"
+"Verwendung von <app>Massif</app> zur Profilierung des Speicherverbrauchs in "
+"GNOME-Software"
 
-#: C/optimization-massif.xml:5(chapter/para)
+#. (itstool) path: section/p
+#: C/massif.page:13
 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>Swell Foop</application> game is used as an example."
+"<app>Massif</app> is a member of the <link href=\"http://valgrind.org/";
+"\">valgrind</link> 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 ""
-"Dieser Artikel beschreibt, wie Sie den Heap-Profiler <application>Massif</"
-"application> mit GNOME-Anwendungen verwenden. Wir beschreiben den Aufruf, die "
-"Interpretation und die Möglichkeiten, die Ausgaben von <application>Massif</"
-"application> richtig zu nutzen. Das Spiel <application>Swell Foop</"
-"application> wird als Beispiel verwendet."
-
-#: C/optimization-massif.xml:10(sect1/title)
-msgid "Introduction"
-msgstr "Einführung"
+"<app>Massif</app> ist Teil der Programmsammlung <link href=\"http://valgrind.";
+"org/\">valgrind</link>, die Werkzeuge zur Speicherprofilierung bereitstellt. "
+"Zweck ist die Erstellung eines detaillierten Überblicks über die dynamische "
+"Speichernutzung während der Lebensdauer eines Programms. Speziell wird der "
+"Speicherverbrauch von »heap« und »stack« aufgezeichnet."
 
-#: C/optimization-massif.xml:11(sect1/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> ist Teil der Programmsammlung <ulink type="
-"\"http\" url=\"http://valgrind.org/\";>valgrind</ulink>, die Werkzeuge zur "
-"Speicherprofilierung bereitstellt. Zweck ist die Erstellung eines "
-"detaillierten Überblicks über die dynamische Speichernutzung während der "
-"Lebensdauer eines Programms. Speziell wird der Speicherverbrauch von »heap« "
-"und »stack« aufgezeichnet."
-
-#: C/optimization-massif.xml:14(sect1/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 ""
-"Der Heap ist der Speicherbereich, der von Funktionen wie malloc belegt wird. "
+#. (itstool) path: section/p
+#: C/massif.page:16
+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 <app>Massif</app> treats it as though it "
+"were just another part of the heap. <app>Massif</app> also gives information "
+"about how much memory is used to manage the heap."
+msgstr ""
+"Der Heap ist der Speicherbereich, der von Funktionen wie »malloc« belegt wird. "
 "Er wächst bei Bedarf und ist gewöhnlich der größte Speicherbereich eines "
 "Programms. Der Stapelspeicher (Stack) dient zur Speicherung der lokalen Daten "
 "von Funktionen. Dies schließt »automatische« Variablen in C und die "
 "Rückgabeadresse von Subroutinen ein. Der Stapelspeicher ist typischerweise "
 "wesentlich kleiner und deutlich aktiver als der Heap. Wir werden den "
-"Stapelspeicher nicht gesondert betrachten, weil ihn <application>Massif</"
-"application> wie einen weiteren Teil des Heap ansieht. <application>Massif</"
-"application> liefert auch Informationen darüber, wie viel Arbeitsspeicher für "
-"den Heap belegt wird."
-
-#: C/optimization-massif.xml:17(sect1/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> erstellt zwei Ausgabdateien: eine grafische "
-"Übersicht in einer PostScript-Datei und eine detaillierte Ausgabe in einer "
-"Textdatei."
-
-#: C/optimization-massif.xml:22(sect1/title)
-msgid "Using <application>Massif</application> with GNOME"
-msgstr "<application>Massif</application> mit GNOME verwenden"
-
-#: C/optimization-massif.xml:23(sect1/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> hat sehr wenige Optionen und für viele "
-"Programme brauchen Sie diese auch gar nicht. Für GNOME-Anwendungen jedoch "
-"muss die Anzahl der Abstiegsebenen der Aufruf-Stapelspeichers erhöht werden, "
-"weil bei diesen Speicheranforderungen tief in glib oder GTK+ verborgen "
-"liegen. Dies wird mit dem Parameter »--depth« erreicht. Die Voreinstellung "
-"ist 3; eine Erhöhung auf 5 stellt sicher, dass der Aufruf-Stapelspeicher bis "
-"zu Ihrem Code reicht. Ein oder zwei weitere Ebenen können auch wünschenswert "
-"sein, um weiteren Kontext zu ersehen. Weil die Detailangaben sehr schnell "
-"erdrückend werden können ist es am Besten, mit dem kleineren Parameter zu "
-"beginnen und ihn nur bei Bedarf zu erhöhen."
-
-#: C/optimization-massif.xml:26(sect1/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 "
-"Massif about them."
-msgstr ""
-"Es ist auch nützlich, <application>Massif</application> mitzuteilen, welche "
-"Funktionen in glib Arbeitsspeicher anfordern. So wird eine unnötige Ebene "
-"Funktionsaufrufe aus den Berichten entfernt und verbessert den Einblick, "
-"welcher Code Speicher anfordert. Speicher anfordernde Funktionen in glib "
-"sind: g_malloc, g_malloc0, g_realloc, g_try_malloc und g_mem_chunk_alloc. "
-"Verwenden Sie die Option »--alloc-fn«, um Massif diese Namen mitzuteilen."
-
-#: C/optimization-massif.xml:29(sect1/para)
+"Stapelspeicher nicht gesondert betrachten, weil ihn <app>Massif</app> wie einen "
+"weiteren Teil des Heap ansieht. <app>Massif</app> liefert auch Informationen "
+"darüber, wie viel Arbeitsspeicher für den Heap belegt wird."
+
+#. (itstool) path: section/p
+#: C/massif.page:18
+msgid ""
+"<app>Massif</app> produces two output files: a graphical overview in a "
+"postscript file and a detailed breakdown in a text file."
+msgstr ""
+"<app>Massif</app> erstellt zwei Ausgabdateien: eine grafische Übersicht in "
+"einer PostScript-Datei und eine detaillierte Ausgabe in einer Textdatei."
+
+#. (itstool) path: section/title
+#: C/massif.page:23
+msgid "Using <app>Massif</app> with GNOME"
+msgstr "<app>Massif</app> mit GNOME verwenden"
+
+#. (itstool) path: section/p
+#: C/massif.page:24
+msgid ""
+"<app>Massif</app> 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 ""
+"<app>Massif</app> hat sehr wenige Optionen und für viele Programme brauchen Sie "
+"diese auch gar nicht. Für GNOME-Anwendungen jedoch muss die Anzahl der "
+"Abstiegsebenen des Aufruf-Stapelspeichers erhöht werden, weil sie bei diesen "
+"Speicheranforderungen tief in glib oder GTK+ verborgen liegen. Dies wird mit "
+"dem Parameter »--depth« erreicht. Die Voreinstellung ist 3; eine Erhöhung auf 5 "
+"stellt sicher, dass der Aufruf-Stapelspeicher bis zu Ihrem Code reicht. Ein "
+"oder zwei weitere Ebenen können auch wünschenswert sein, um weiteren Kontext zu "
+"ersehen. Weil die Detailangaben sehr schnell erdrückend werden können ist es am "
+"besten, mit dem kleineren Parameter zu beginnen und ihn nur bei Bedarf zu "
+"erhöhen."
+
+#. (itstool) path: section/p
+#: C/massif.page:27
+msgid ""
+"It is also useful to tell <app>Massif</app> 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 Massif about them."
+msgstr ""
+"Es ist auch nützlich, <app>Massif</app> mitzuteilen, welche Funktionen in glib "
+"Arbeitsspeicher anfordern. So wird eine unnötige Ebene Funktionsaufrufe aus den "
+"Berichten entfernt und verbessert den Einblick, welcher Code Speicher "
+"anfordert. Speicher anfordernde Funktionen in glib sind: g_malloc, g_malloc0, "
+"g_realloc, g_try_malloc und g_mem_chunk_alloc. Verwenden Sie die Option »--"
+"alloc-fn«, um Massif diese Namen mitzuteilen."
+
+#. (itstool) path: section/p
+#: C/massif.page:30
 msgid "Your command-line should therefore look something like:"
 msgstr "Ihre Befehlszeile sollte daher so aussehen:"
 
-#: C/optimization-massif.xml:32(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:33
 #, no-wrap
 msgid ""
 "\n"
@@ -355,36 +821,38 @@ msgstr ""
 "         --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc swell-foop\n"
 "        "
 
-#: C/optimization-massif.xml:36(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:37
 msgid ""
-"<application>Swell Foop</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."
+"<app>Swell Foop</app> is the program we will be using as an example. Be warned "
+"that, since valgrind emulates the CPU, it will run <em>very</em> slowly. You "
+"will also need a lot of memory."
 msgstr ""
-"Das Programm <application>Swell Foop</application> werden wir als Beispiel "
-"verwenden. Seien Sie gewarnt: <application>Valgrind</application> emuliert "
-"den Prozessor, wodurch es <emphasis>äußerst</emphasis> langsam läuft. "
-"Außerdem wird sehr viel Speicher benötigt."
+"Das Programm <app>Swell Foop</app> werden wir als Beispiel verwenden. Seien Sie "
+"gewarnt: <app>Valgrind</app> emuliert den Prozessor, wodurch es <em>äußerst</"
+"em> langsam läuft. Außerdem wird sehr viel Speicher benötigt."
 
-#: C/optimization-massif.xml:41(sect1/title)
+#. (itstool) path: section/title
+#: C/massif.page:41
 msgid "Interpreting the Results"
 msgstr "Interpretieren der Ergebnisse"
 
-#: C/optimization-massif.xml:42(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:42
 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."
+"The graphical output of <app>Massif</app> 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 ""
-"Die grafische Ausgabe von <application>Massif</application> ist weitgehend "
-"selbsterklärend. Jedes Band stellt den einer Funktion zugewiesenen Speicher "
-"nach Zeit dar. Sobald Sie herausgefunden haben, welche Bänder den meisten "
-"Speicher verbrauchen, üblicherweise die dickeren, oberen, dann schauen Sie "
-"sich die Textausgabe für weitere Details an."
+"Die grafische Ausgabe von <app>Massif</app> ist weitgehend selbsterklärend. "
+"Jedes Band stellt den einer Funktion zugewiesenen Speicher nach Zeit dar. "
+"Sobald Sie herausgefunden haben, welche Bänder den meisten Speicher "
+"verbrauchen, üblicherweise die dickeren, oberen, dann schauen Sie sich die "
+"Textausgabe für weitere Details an."
 
-#: C/optimization-massif.xml:45(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:45
 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 "
@@ -392,48 +860,47 @@ msgid ""
 "proceed down the call-stack. To illustrate this we will use the output of the "
 "command above."
 msgstr ""
-"Die Textdatei ist hierarchisch in Abschnitte gegliedert. Am oberen Ende "
-"finden sich die größten Speicherverbraucher, in absteigender Ordnung nach "
-"Speicherzeit. Darunter finden sich weitere Abschnitte, die je nach dem Platz "
-"im Aufruf-Stack feiner detaillierter sind. Um dies zu verdeutlichen, "
-"verwenden wir die Ausgabe des oben stehenden Befehls."
-
-#: C/optimization-massif.xml:49(figure/title)
-msgid ""
-"<application>Massif</application> output for the unoptimized version of the "
-"<application>Swell Foop</application> program."
-msgstr ""
-"<application>Massif</application>-Ausgabe für die nicht optimierte Version "
-"des Programms <application>Swell Foop</application>."
-
-#: C/optimization-massif.xml:56(sect1/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>Swell Foop</"
-"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>Swell Foop</application> starts a second process "
-"and <application>Massif</application> follows that too. We will ignore this "
-"second process, it consumes very little memory."
-msgstr ""
-"<xref linkend=\"optimization-massif-FIG-output-unoptimized\"/> zeigt typische "
-"PostScript-Ausgaben von <application>Massif</application>. Dies ist das "
-"Ergebnis, wenn Sie eine einzige Runde <application>Swell Foop</application> "
-"(Version 2.8.0) spielen und dann die Anwendung schließen. Die PostScript-"
-"Datei hat einen Namen ähnlich wie <filename>massif.12345.ps</filename> und "
-"die Text-Datei <filename>massif.12345.txt</filename>. Die Zahl im Dateinamen "
-"entspricht der Prozesskennung des untersuchten Programms. Wenn Sie dieses "
-"Beispiel nachstellen, so werden Sie zwei Versionen jeder Datei mit leicht "
-"verschiedenen Nummern finden. Dies liegt daran, dass <application>Swell Foop</"
-"application> einen zweiten Prozess startet und <application>Massif</"
-"application> diesen ebenfalls protokolliert. Wie werden diesen zweiten "
-"Prozess ignorieren. Er verbraucht nur sehr wenig Speicher."
-
-#: C/optimization-massif.xml:59(sect1/para)
+"Die Textdatei ist hierarchisch in Abschnitte gegliedert. Am oberen Ende finden "
+"sich die größten Speicherverbraucher, in absteigender Ordnung nach "
+"Speicherzeit. Darunter finden sich weitere Abschnitte, die je nach dem Platz im "
+"Aufruf-Stack feiner detaillierter sind. Um dies zu verdeutlichen, verwenden wir "
+"die Ausgabe des oben stehenden Befehls."
+
+#. (itstool) path: figure/title
+#: C/massif.page:49
+msgid ""
+"<app>Massif</app> output for the unoptimized version of the <app>Swell Foop</"
+"app> program."
+msgstr ""
+"<app>Massif</app>-Ausgabe für die nicht optimierte Version des Programms "
+"<app>Swell Foop</app>."
+
+#. (itstool) path: section/p
+#: C/massif.page:52
+msgid ""
+"The image above shows a typical postscript output from <app>Massif</app>. This "
+"is the result you would get from playing a single game of <app>Swell Foop</app> "
+"(version 2.8.0) and then quitting. The postscript file will have a name like "
+"<file>massif.12345.ps</file> and the text file will be called "
+"<file>massif.12345.txt</file>. 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 "
+"<app>Swell Foop</app> starts a second process and <app>Massif</app> follows "
+"that too. We will ignore this second process, it consumes very little memory."
+msgstr ""
+"Das Bild oben zeigt eine typische PostScript-Ausgabe von <app>Massif</app>. "
+"Dies ist das Ergebnis, wenn Sie eine einzige Runde <app>Swell Foop</app> "
+"(Version 2.8.0) spielen und dann die Anwendung schließen. Die PostScript-Datei "
+"hat einen Namen ähnlich wie <file>massif.12345.ps</file> und die Text-Datei "
+"<file>massif.12345.txt</file>. Die Zahl im Dateinamen entspricht der "
+"Prozesskennung des untersuchten Programms. Wenn Sie dieses Beispiel "
+"nachstellen, so werden Sie zwei Versionen jeder Datei mit leicht verschiedenen "
+"Nummern finden. Dies liegt daran, dass <app>Swell Foop</app> einen zweiten "
+"Prozess startet und <app>Massif</app> diesen ebenfalls protokolliert. Wie "
+"werden diesen zweiten Prozess ignorieren. Er verbraucht nur sehr wenig Speicher."
+
+#. (itstool) path: section/p
+#: C/massif.page:66
 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 "
@@ -446,7 +913,8 @@ msgstr ""
 "herauszufinden, wo gdk_pixbuf_new aufgerufen wird. Der Anfang der Textdatei "
 "sieht in etwa so aus:"
 
-#: C/optimization-massif.xml:62(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:69
 #, no-wrap
 msgid ""
 "\n"
@@ -481,7 +949,8 @@ msgstr ""
 "    3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
 "        "
 
-#: C/optimization-massif.xml:77(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:84
 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 "
@@ -493,14 +962,15 @@ msgid ""
 msgstr ""
 "Die Zeile mit »=«-Zeichen deutet an, wie tief wir uns in der Stack-Trace "
 "befinden. In diesem Fall sind wir ganz oben. Danach werden die größten "
-"Speicherbeleger nach absteigender Raumzeit aufgeführt. Raumzeit ist das "
-"Produkt der Menge des belegten Speichers und wie lange er belegt wurde. Dies "
-"entspricht der Fläche der Bänder im Grafen. Dieser Teil der Datei belegt, was "
-"wir bereits wissen: der Großteil der Raumzeit ist gdk_pixbuf_new gewidmet. Um "
+"Speicherbeleger nach absteigender Raumzeit aufgeführt. Raumzeit ist das Produkt "
+"der Menge des belegten Speichers und wie lange er belegt wurde. Dies entspricht "
+"der Fläche der Bänder im Grafen. Dieser Teil der Datei belegt, was wir bereits "
+"wissen: der Großteil der Raumzeit ist gdk_pixbuf_new gewidmet. Um "
 "herauszufinden, was gdk_pixbuf_new aufrief, müssen wir weiter unten in der "
 "Textdatei suchen:"
 
-#: C/optimization-massif.xml:80(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:87
 #, no-wrap
 msgid ""
 "\n"
@@ -535,54 +1005,58 @@ msgstr ""
 "  and 1 other insignificant place\n"
 "        "
 
-#: C/optimization-massif.xml:95(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:102
 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>Swell Foop</application> code. From this listing, we can see "
-"instantly that the problem code is load_scenario."
+"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 <app>Swell "
+"Foop</app> code. From this listing, we can see instantly that the problem code "
+"is load_scenario."
 msgstr ""
 "Die erste Zeile besagt, dass wir uns nun vier Ebenen tief im Stapelspeicher "
-"befinden. Darunter ist eine Auflistung der Funktionsaufrufe, die von hier "
-"bis  gdk_pixbuf_new reichen. Schließlich findet sich eine Liste von "
-"Funktionen, die sich eine Ebene darunter befinden und jene Funktionen "
-"aufrufen. es gibt natürlich auch Einträge für die Ebenen 1 bis 3, aber dies "
-"ist die erste Ebene, die man über den GDK-Code bis zum <application>Swell "
-"Foop</application>-Code erreichen kann. Aus der Auflistung kann man sofort "
-"erkennen, dass der problematische Code in load_scenario ist."
+"befinden. Darunter ist eine Auflistung der Funktionsaufrufe, die von hier bis  "
+"gdk_pixbuf_new reichen. Schließlich findet sich eine Liste von Funktionen, die "
+"sich eine Ebene darunter befinden und jene Funktionen aufrufen. es gibt "
+"natürlich auch Einträge für die Ebenen 1 bis 3, aber dies ist die erste Ebene, "
+"die man über den GDK-Code bis zum <app>Swell Foop</app>-Code erreichen kann. "
+"Aus der Auflistung kann man sofort erkennen, dass der problematische Code in "
+"load_scenario ist."
 
-#: C/optimization-massif.xml:98(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:105
 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."
+"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 ""
 "Jetzt, wo wir wissen, welcher Teil unseres Codes alle Raumzeit belegt, können "
 "wir ihn betrachten und die Ursache herausfinden. Es stellt sich heraus, dass "
 "load_scenario einen Pixbuf aus einer Datei lädt und diesen Speicher nie mehr "
 "frei gibt. Nachdem das Problem identifiziert wurde, können wir es beheben."
 
-#: C/optimization-massif.xml:103(sect1/title)
+#. (itstool) path: section/title
+#: C/massif.page:110
 msgid "Acting on the Results"
 msgstr "Aufgrund der Ergebnisse handeln"
 
-#: C/optimization-massif.xml:104(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:111
 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 "
+"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."
+"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 ""
 "Ein Reduzieren des Verbrauches an Raumzeit ist gut, aber es gibt zwei "
 "verschiedene Wege, dies zu tun. Sie können entweder die angeforderte "
@@ -594,65 +1068,61 @@ msgstr ""
 "können, wenn wir den Speicherverbrauch jedes Prozesses halbieren. Wenn wir "
 "statt dessen die Speicherbelegungszeit halbieren, dann können die beiden "
 "Prozesse nebeneinander existieren, aber nur solange ihre Zeiträume hoher "
-"Speicherbelegung nicht überlappen. Demnach ist es besser, die "
-"Speicherbelegung zu reduzieren."
+"Speicherbelegung nicht überlappen. Demnach ist es besser, die Speicherbelegung "
+"zu reduzieren."
 
-#: C/optimization-massif.xml:107(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:114
 msgid ""
 "Unfortunately, the choice of optimization is also constrained by the needs of "
-"the program. The size of the pixbuf data in <application>Swell Foop</"
-"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>Swell Foop</application> after being altered to dispose of the "
-"pixbufs once the images have been loaded into the X server."
+"the program. The size of the pixbuf data in <app>Swell Foop</app> 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. The "
+"image below shows the <app>Massif</app> analysis of <app>Swell Foop</app> after "
+"being altered to dispose of the pixbufs once the images have been loaded into "
+"the X server."
 msgstr ""
 "Unglücklicherweise schränken die Erfordernisse des Programms die Wahl der "
-"Optimierung ein. Die Größe der Pixbuf-Daten in <application>Swell Foop</"
-"application> ist von der Größe der Grafiken im Spiel abhängig und kann nicht "
-"ohne Weiteres reduziert werden. Allerdings kann die Zeit zum Laden des "
-"Programms in den Speicher drastisch reduziert werden! <xref linkend="
-"\"optimization-massif-FIG-output-optimized\"/> zeigt die <application>Massif</"
-"application>-Analyse von <application>Swell Foop</application> nach den "
-"Änderungen, die die Pixbufs entsorgen, sobald diese vom X-Server geladen "
-"wurden."
+"Optimierung ein. Die Größe der Pixbuf-Daten in <app>Swell Foop</app> ist von "
+"der Größe der Grafiken im Spiel abhängig und kann nicht ohne Weiteres reduziert "
+"werden. Allerdings kann die Zeit zum Laden des Programms in den Speicher "
+"drastisch reduziert werden! Das Bild unten zeigt die <app>Massif</app>-Analyse "
+"von <app>Swell Foop</app> nach den Änderungen, die die Pixbufs entsorgen, "
+"sobald diese vom X-Server geladen wurden."
 
-#: C/optimization-massif.xml:111(figure/title)
-msgid ""
-"<application>Massif</application> output for the optimized <application>Swell "
-"Foop</application> program."
+#. (itstool) path: figure/title
+#: C/massif.page:123
+msgid "<app>Massif</app> output for the optimized <app>Swell Foop</app> program."
 msgstr ""
-"<application>Massif</application>-Ausgaben für das optimierte Programm "
-"<application>Swell Foop</application>."
+"<app>Massif</app>-Ausgaben für das optimierte Programm <app>Swell Foop</app>."
 
-#: C/optimization-massif.xml:118(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:126
 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 were run together the chances "
-"of the peak memory usage coinciding, and hence the risk of swapping, would be "
-"quite low."
+"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 were run together the chances of the peak "
+"memory usage coinciding, and hence the risk of swapping, would be quite low."
 msgstr ""
-"Die Raumzeit-Belegung von gdk_pixbuf_new ist nun nur noch ein dünnes Band, "
-"das nur kurzzeitig einen Spitzenwert hat (es ist nun das sechzehnte "
-"schraffierte magenta Band von oben). Als Bonus ist der "
-"Spitzenspeicherverbrauch um 200 kB gesunken, weil die Spitze vor anderen "
-"Speicheranforderungen liegt. Wenn zwei solche Prozesse zeitgleich liefen, "
-"wäre die Wahrscheinlichkeit ziemlich gering, dass der höchste "
-"Speicherverbrauch beider zusammen fällt."
+"Die Raumzeit-Belegung von gdk_pixbuf_new ist nun nur noch ein dünnes Band, das "
+"nur kurzzeitig einen Spitzenwert hat (es ist nun das sechzehnte schraffierte "
+"magenta Band von oben). Als Bonus ist der Spitzenspeicherverbrauch um 200 kB "
+"gesunken, weil die Spitze vor anderen Speicheranforderungen liegt. Wenn zwei "
+"solche Prozesse zeitgleich liefen, wäre die Wahrscheinlichkeit ziemlich gering, "
+"dass der höchste Speicherverbrauch beider zusammen fällt."
 
-#: C/optimization-massif.xml:121(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:129
 msgid ""
-"Can we do better ? A quick examination of <application>Massif</application>'s "
-"text output reveals: g_strdup to be the new major offender."
+"Can we do better ? A quick examination of <app>Massif</app>'s text output "
+"reveals: g_strdup to be the new major offender."
 msgstr ""
 "Können wir noch zulegen? Eine schnelle Untersuchung der Textausgabe von "
-"<application>Massif</application> enthüllt: g_strdup ist der neue "
-"Hauptschuldige."
+"<app>Massif</app> enthüllt: g_strdup ist der neue Hauptschuldige."
 
-#: C/optimization-massif.xml:124(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:132
 #, no-wrap
 msgid ""
 "\n"
@@ -687,14 +1157,15 @@ msgstr ""
 "    5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
 "        "
 
-#: C/optimization-massif.xml:139(sect1/para)
-msgid ""
-"If we look closer though we see that it is called from many, many, places."
+#. (itstool) path: section/p
+#: C/massif.page:147
+msgid "If we look closer though we see that it is called from many, many, places."
 msgstr ""
 "Bei näherer Betrachtung sehen wir jedoch, dass es von vielen verschiedenen "
 "Orten aus aufgerufen wird."
 
-#: C/optimization-massif.xml:142(sect1/programlisting)
+#. (itstool) path: section/code
+#: C/massif.page:150
 #, no-wrap
 msgid ""
 "\n"
@@ -731,527 +1202,66 @@ msgstr ""
 "  and 155 other insignificant places\n"
 "        "
 
-#: C/optimization-massif.xml:158(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:166
 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 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."
+"quite large. This tells us that there are a lot of small allocations 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 ""
 "Nun begegnen wir geschmälerten Resultaten für unsere Bemühungen. Der Graph "
-"deutet einen weiteren möglichen Schritt an: Die Bänder »other« und »heap "
-"admin« sind beide ziemlich groß. Dies besagt, dass eine Vielzahl kleiner "
-"Anforderungen an vielen Orten gemacht werden. Jene zu eliminieren ist "
-"schwierig, aber wenn sie zusammen gelegt werden, dann werden die einzelnen "
-"Anforderungen größer und der Verwaltungsaufwand (»heap admin«) kann reduziert "
-"werden."
-
-#: C/optimization-massif.xml:163(sect1/title)
+"deutet einen weiteren möglichen Schritt an: Die Bänder »other« und »heap admin« "
+"sind beide ziemlich groß. Dies besagt, dass eine Vielzahl kleiner Anforderungen "
+"an vielen Orten gemacht werden. Jene zu eliminieren ist schwierig, aber wenn "
+"sie zusammen gelegt werden, dann werden die einzelnen Anforderungen größer und "
+"der Verwaltungsaufwand (»heap admin«) kann reduziert werden."
+
+#. (itstool) path: section/title
+#: C/massif.page:171
 msgid "Caveats"
 msgstr "Vorbehalte"
 
-#: C/optimization-massif.xml:164(sect1/para)
+#. (itstool) path: section/p
+#: C/massif.page:172
 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 ""
-"Es gibt ein paar Dinge, auf die man achten muss. Erstens: Raumzeit wird nur "
-"als Prozentangabe geliefert. Sie müssen mit der Gesamtgröße des Programms "
-"vergleichen, um festzustellen, ob es sich lohnt, diese Speichermenge "
-"anzugehen. Der Graph mit der vertikalen Achse in Kilobytes eignet sich gut "
-"dafür."
-
-#: C/optimization-massif.xml:167(sect1/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>Swell Foop</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 ""
-"Zweitens: <application>Massif</application> erfasst nur die Speicherbelegung "
-"durch Ihr eigenes Programm. Ressourcen wie Pixmaps werden im X-Server "
-"gespeichert und werden nicht durch <application>Massif</application> "
-"berücksichtigt. In dem Beispiel mit <application>Swell Foop</application> "
-"haben wir tatsächlich nur den Speicherverbrauch von client-seitigen Pixbufs "
-"zu server-seitigen Pixmaps verlagert. Obwohl dies nur nach Schummeln "
+"Es gibt ein paar Dinge, auf die man achten muss. Erstens: Raumzeit wird nur als "
+"Prozentangabe geliefert. Sie müssen mit der Gesamtgröße des Programms "
+"vergleichen, um festzustellen, ob es sich lohnt, diese Speichermenge anzugehen. "
+"Der Graph mit der vertikalen Achse in Kilobytes eignet sich gut dafür."
+
+#. (itstool) path: section/p
+#: C/massif.page:175
+msgid ""
+"Secondly, <app>Massif</app> 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 <app>Massif</app>. In the <app>Swell Foop</app> 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 <link href=\"http://www.freedesktop.org/Software/xrestop\";>xrestop</link> "
+"program."
+msgstr ""
+"Zweitens: <app>Massif</app> erfasst nur die Speicherbelegung durch Ihr eigenes "
+"Programm. Ressourcen wie Pixmaps werden im X-Server gespeichert und werden "
+"nicht durch <app>Massif</app> berücksichtigt. In dem Beispiel mit <app>Swell "
+"Foop</app> haben wir tatsächlich nur den Speicherverbrauch von client-seitigen "
+"Pixbufs zu server-seitigen Pixmaps verlagert. Obwohl dies nur nach Schummeln "
 "aussieht, gab es dennoch Geschwindigkeitsgewinne. Bilddaten im X-Server "
 "beschleunigen die Grafik-Routinen und verhindert viele Inter-Prozess-"
 "Kommunikation. Ebenso werden die Pixmaps in nativem Grafikformat gespeichert, "
 "welches oft kompakter ist als das 32-bit RGBA-Format von gdk_pixbuf. Um den "
-"Effekt von Pixmaps und anderen Ressourcen des X-Servers zu messen, sollten "
-"Sie das Programm <ulink type=\"http\" url=\"http://www.freedesktop.org/";
-"Software/xrestop\">xrestop</ulink> verwenden."
-
-#: C/optimization-intro.xml:3(chapter/title)
-msgid "The Quick Guide to Optimizing GNOME Programs"
-msgstr "Schnelleinführung in die Optimierung von GNOME-Programmen"
-
-#: C/optimization-intro.xml:5(chapter/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 ""
-"Dies ist eine kurze Einführung in die Optimierung und behandelt sowohl das "
-"Wie als auch das Warum. Details zu individuellen Werkzeugen verschieben wir "
-"auf spätere Artikel, eine Sammlung aus Hinweisen und Tricks ist jedoch "
-"enthalten."
-
-#: C/optimization-intro.xml:10(sect1/title)
-msgid "What are we Optimizing?"
-msgstr "Was optimieren wir?"
-
-#: C/optimization-intro.xml:11(sect1/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 ""
-"Sie sollten bei der Optimierung für GNOME zunächst eines bedenken: Wir "
-"versuchen nicht, das Programm zu verbessern, sondern wir versuchen, die "
-"Benutzer glücklicher zu machen."
-
-#: C/optimization-intro.xml:14(sect1/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 ""
-"Bessere Programme machen die Benutzer glücklicher, aber es gibt "
-"Verbesserungsmöglichkeiten, die sie viel glücklicher machen werden als "
-"Andere: Ansprechzeit, Startzeit, leichter Zugriff auf Befehle. Der Rechner "
-"sollte auch nicht sofort den Auslagerungsspeicher benutzen müssen, wenn mehr "
-"als eine Anwendung geöffnet ist."
-
-#: C/optimization-intro.xml:17(sect1/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 ""
-"Die traditionelle Optimierung umfasst Konzepte wie Prozessorlast, Umfang des "
-"Codes, die Anzahl der Mausklicks sowie die Speichernutzung des Programms. Die "
-"folgende Auflistung sollte die erste Liste ergänzen, wobei ein grundlegender "
-"Unterschied besteht: Ein GNOME-Benutzer schenkt der zweiten Liste keine "
-"Beachtung, während der ersten Liste sehr wohl Aufmerksamkeit gewidmet wird. "
-"Beim Optimieren von GNOME-Programmen sollen die Prozessorlast, der "
-"Speicherverbrauch und all diese Dinge optimiert werden, aber das sind die "
-"Bedeutungen, nicht das Endziel. Wir optimieren für Benutzer."
-
-#: C/optimization-intro.xml:23(sect1/title)
-msgid "Doing the Optimization"
-msgstr "Ausführung der Optimierung"
-
-#: C/optimization-intro.xml:24(sect1/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 ""
-"Aus dem vorigen Abschnitt wurde deutlich: Um etwas optimieren zu können, muss "
-"es messbar sein. Sie können Zufriedenheit nicht messen, aber Sie können sehr "
-"wohl Startzeiten messen, um sagen zu können, dass Sie sie verbessert haben. "
-"Die Zufriedenheit wird dann - hoffentlich - folgen."
-
-#: C/optimization-intro.xml:27(sect1/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 ""
-"Optimierung ist ein Prozess des Messens, der Verfeinerung und erneuten "
-"Messens. Daher müssen Sie zunächst einen Weg finden, das zu messen, was Sie "
-"optimieren wollen. Idealerweise ist dieser Messwert eine einzige Zahl, "
-"beispielsweise die Zeit, die für die Ausführung einer Aufgabe benötigt wird. "
-"Dies ist Ihr Maßstab, es ist der einzige Weg festzustellen, ob Sie auf der "
-"Gewinner- oder der Verliererseite sind. Es ist ein sehr wesentlicher "
-"Unterschied, ob ein Programm schnell sein <emphasis>sollte</emphasis> oder ob "
-"es tatsächlich schnell <emphasis>ist</emphasis>."
-
-#: C/optimization-intro.xml:30(sect1/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 ""
-"Sobald Sie einen Ausgangsmaßstab gefunden haben, müssen Sie nun herausfinden, "
-"warum Ihr Code seine Aufgabe nicht so gut erledigt, wie er es eigentlich "
-"sollte. Es ist verlockend, dies durch eine einfache Sichtung zu tun: Sich den "
-"Code anzuschauen und etwas zu finden, dass verbesserungswürdig scheint. Doch "
-"Sie werden immer falsch liegen. Der einzig sichere Weg ist es, einen Profiler "
-"für eine detaillierte Aufschlüsselung der Programmaktivitäten zu verwenden."
-
-#: C/optimization-intro.xml:33(sect1/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 ""
-"Gewöhnlich ist das Problem auf kleine Code-Abschnitte beschränkt. Wählen Sie "
-"den schlimmsten Teil und konzentrieren Sie sich zuerst darauf. Führen Sie den "
-"Profiler erneut aus und wiederholen Sie den Arbeitsschritt, sobald dies "
-"erledigt ist. Wenn Sie so arbeiten, werden die Gewinne mit jedem Schritt "
-"geringer. Ab einem bestimmten Punkt müssen Sie entscheiden, dass die "
-"Ergebnisse gut genug sind. Wenn Ihre Bemühungen nur 10% Verbesserung ergeben, "
-"dann sind Sie bereits weit über den Punkt hinaus, wo Sie hätten stoppen "
-"sollen."
-
-#: C/optimization-intro.xml:36(sect1/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 ""
-"Vergessen Sie nicht das Gesamtbild. Zum Beispiel sollten Sie sich fragen, ob "
-"der Code überhaupt unbedingt ausgeführt werden muss, statt seine "
-"Geschwindigkeit zu verbessern. Kann er mit anderem Code kombiniert werden? "
-"Können bereits ausgeführte Berechnungen gespeichert und später wieder "
-"verwertet werden? Eine Optimierung kann man sich auch sparen, wenn der Code "
-"dort ausgeführt wird, wo ihn der Benutzer niemals bemerken wird. Noch "
-"schlimmer, der Code ist eventuell bereits optimiert und führt kostspielige "
-"Berechnungen jetzt aus, um dies später zu vermeiden. Code läuft nicht "
-"isoliert und ebenso wenig der Optimierungsprozess."
-
-#: C/optimization-intro.xml:41(sect1/title)
-msgid "Hints"
-msgstr "Hinweise"
-
-#: C/optimization-intro.xml:43(itemizedlist/title)
-msgid "The Fundamentals"
-msgstr "Die Grundlagen"
-
-#: C/optimization-intro.xml:45(listitem/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 ""
-"Bilden Sie einen Maßstab nach jeder Code-Änderung aus und führen Sie Buch "
-"über alle Änderungen, und wie sie den Maßstab beeinflussen. So können Sie "
-"Fehler rückgängig machen und in Zukunft erst gar nicht wiederholen."
-
-#: C/optimization-intro.xml:50(listitem/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 ""
-"Stellen Sie sicher, dass Ihr Code korrekt und fehlerfrei ist, bevor Sie mit "
-"der Optimierung beginnen. Überprüfen Sie nach der Optimierung, ob dies dann "
-"auch noch zutrifft."
-
-#: C/optimization-intro.xml:55(listitem/para)
-msgid "Optimize at the high level before optimizing the details."
-msgstr "Optimieren Sie zunächst auf hoher Ebene, bevor es an die Details geht."
-
-#: C/optimization-intro.xml:60(listitem/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 ""
-"Verwenden Sie den passenden Algorithmus. Das klassische Beispiel ist, Quick-"
-"Sort statt Bubble-Sort zu verwenden. Es gibt viele andere. Einige belegen "
-"wenig Arbeitsspeicher, andere brauchen wenig Rechenleistung. Schauen Sie "
-"auch, ob Sie Kompromisse eingehen können: Es geht auch schneller als Quick-"
-"Sort."
-
-#: C/optimization-intro.xml:65(listitem/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 ""
-"Optimierungen sind ein Abwägen. Ergebnisse zwischenzuspeichern beschleunigt "
-"Berechnungen, aber erhöht den Speicherverbrauch. Daten auf einen Datenträger "
-"zu speichern spart Arbeitsspeicher, aber kostet Zeit beim Laden vom "
-"Datenträger."
-
-#: C/optimization-intro.xml:70(listitem/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 ""
-"Wählen Sie unbedingt eine große Vielfalt an Eingangsgrößen, die Sie "
-"optimieren. Wenn Sie dies nicht tun, können Sie schnell mit einem sorgfältig "
-"für nur eine einzige Datei optimierten Code enden."
-
-#: C/optimization-intro.xml:75(listitem/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 ""
-"Vermeiden Sie aufwändige Vorgänge: Mehrere kleine Plattenlesevorgänge, "
-"Belegung von sehr viel Arbeitsspeicher, bis das Auslagern beginnt. Vermeiden "
-"Sie unnötige Schreib- und Lesevorgänge auf Datenträger. Das Netzwerk ist auch "
-"langsam. Vermeiden Sie auch grafische Operationen, die eine Antwort vom X-"
-"Server erfordern."
-
-#: C/optimization-intro.xml:81(itemizedlist/title)
-msgid "Traps for the Unwary"
-msgstr "Fallen für die Unvorsichtigen"
-
-#: C/optimization-intro.xml:83(listitem/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 ""
-"Nehmen Sie sich vor Nebeneffekten in Acht. Es kann oft seltsame Interaktionen "
-"zwischen verschiedenen Code-Bereichen geben. Eine "
-"Geschwindigkeitsverbesserung in einem Teil kann einen anderen Teil "
-"ausbremsen. "
-
-#: C/optimization-intro.xml:88(listitem/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 ""
-"Beim zeitlichen Abstimmen von Code - auch auf unbelasteten Systemen - sorgen "
-"externe Ereignisse für Unregelmäßigkeiten bei der Zeitplanung. Bilden Sie "
-"Durchschnittswerte von mehreren Durchläufen. Wenn der Code sehr kurz ist, so "
-"kann die Zählergenauigkeit zu einem Problem werden. In diesem Fall messen Sie "
-"die Zeit 100 oder 1000 Mal, die der Rechner zur Abarbeitung braucht. Wenn Sie "
-"Zeitspannen von einigen Sekunden messen, dann sind Sie im grünen Bereich."
-
-#: C/optimization-intro.xml:93(listitem/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 ""
-"Es ist sehr leicht, vom Profiler in die Irre geführt zu werden. Es gibt "
-"Geschichten über Leute, die die Untätigkeitsphase perfekt optimiert haben, "
-"weil das Programm ja die meiste Zeit in Untätigkeit verbringt! Optimieren Sie "
-"keinen Code, von dessen Wirkung der Benutzer ohnehin keine Notiz nimmt."
-
-#: C/optimization-intro.xml:98(listitem/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 ""
-"Vergessen Sie nicht den Ressourcenverbrauch des X-Servers. Der "
-"Speicherverbrauch Ihres Programms enthält nicht die Pixmaps, die vom X-Server "
-"verarbeitet werden, aber sie verbrauchen dennoch Speicher. Verwenden Sie "
-"<command>xrestop</command>, um zu sehen, welche Ressourcen Ihr Programm "
-"beansprucht."
-
-#: C/optimization-intro.xml:104(itemizedlist/title)
-msgid "Low Level Hints"
-msgstr "Tipps mit niedrigem Niveau"
-
-#: C/optimization-intro.xml:106(listitem/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 ""
-"Seien Sie bei der Optimierung des Speicherverbrauchs umsichtig bezüglich des "
-"Unterschieds zwischen Spitzen- und durchschnittlicher Speicherbelegung. "
-"Einiger Speicher wird quasi immer belegt, das ist nicht gut. Einiger wird nur "
-"kurzzeitig belegt, dies ist in Ordnung. Werkzeuge wie »massif« verwenden das "
-"Raum-Zeit-Konzept, d.h. das Produkt von belegtem Arbeitsspeicher und der "
-"Belegungsdauer."
-
-#: C/optimization-intro.xml:111(listitem/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 ""
-"Stoppen Sie die Zeit vereinfachter Code-Teile, die nur Entscheidendes "
-"erledigen. Dies legt eine absolute untere Grenze für die Laufzeit Ihres Codes "
-"fest. Zum Beispiel sollten Sie beim Optimieren einer Schleife die leere "
-"Schleife stoppen. Wenn dies immer noch zu lang ist, dann wird keine Mikro-"
-"Optimierung Abhilfe schaffen und Sie müssen das grundlegende Design ändern. "
-"Stellen Sie sicher, dass der Compiler dabei nicht ihre leeren Schleifen "
-"rationalisiert."
-
-#: C/optimization-intro.xml:116(listitem/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 ""
-"Gliedern Sie Code aus Schleifen aus. Ein etwas umfangreicheres Stück Code, "
-"das nur einmal ausgeführt wird, ist um Einiges schneller als ein simples "
-"Stück Code, was dafür tausend Schleifen durchläuft. Vermeiden Sie es, "
-"langsamen Code allzu oft aufzurufen."
-
-#: C/optimization-intro.xml:121(listitem/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 ""
-"Geben Sie dem Compiler so viele Hinweise wie möglich. Verwenden Sie das const-"
-"Schlüsselwort. Verwenden Sie <envar>G_INLINE_FUNC</envar> für kurze, häufig "
-"aufgerufene Funktionen. Schauen Sie nach <envar>G_GNUC_PURE</envar>, "
-"<envar>G_LIKELY</envar> und weiteren diversen glib-Makros. Verwenden Sie "
-"diese Makros anstelle der gcc-spezifischen Schlüsselwörter, um die "
-"Portierbarkeit zu erhalten."
-
-#: C/optimization-intro.xml:126(listitem/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 ""
-"Verwenden Sie keine Assemblersprachen. Sie sind nicht portierbar. Während sie "
-"auf dem einen Prozessor unglaublich schnell sind, ist nicht unbedingt "
-"garantiert, dass dies auf jedem von der Architektur unterstützten Prozessor "
-"genauso ist (beispielsweise Athlon vs Pentium 4)."
-
-#: C/optimization-intro.xml:131(listitem/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 ""
-"Schreiben Sie eine vorhandene Bibliotheksroutine nicht neu, es sei denn, Sie "
-"sind sich sicher, dass sie unakzeptabel langsam ist. Viele prozessorintensive "
-"Bibliotheksroutinen wurden bereits optimiert. Andererseits sind einige "
-"Routinen tatsächlich langsam, insbesondere diejenigen, die Systemaufrufe an "
-"das Betriebssystem absetzen."
-
-#: C/optimization-intro.xml:136(listitem/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 ""
-"Halten Sie die Zahl der verlinkten Bibliotheken gering. Je weniger "
-"Bibliotheken gelinkt werden müssen, umso schneller startet das Programm. Dies "
-"ist in GNOME allerdings schwierig."
-
-#: C/optimization-intro.xml:142(itemizedlist/title)
-msgid "High Level Tricks"
-msgstr "Tricks auf hohem Niveau"
-
-#: C/optimization-intro.xml:144(listitem/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 ""
-"Nutzen Sie Nebenläufigkeit aus. Das bedeutet nicht nur mehrere Prozessoren zu "
-"verwenden, es bedeutet auch die Zeit auszunutzen, in welcher der Anwender "
-"über seine weiteren Aktivitäten nachdenkt, und in Vorausschau einige "
-"Berechnungen auszuführen. Führen Sie Berechnungen aus, während Daten vom "
-"Datenträger geladen werden. Nutzen Sie verschiedene Ressourcen, wenn "
-"vorhanden, gleichzeitig."
-
-#: C/optimization-intro.xml:149(listitem/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 ""
-"Bluffen Sie. Der Benutzer sollte denken, dass sein Rechner schnell ist, aber "
-"es ist gleich, ob er es wirklich ist oder nicht. Die Zeit zwischen dem Befehl "
-"und der darauf folgenden Antwort ist maßgebend. Es ist gleichgültig, ob die "
-"Antwort vorausberechnet wird, zwischengespeichert oder in irgendeiner anderen "
-"Weise später zu einem günstigeren Zeitpunkt ausgewertet wird, solange der "
-"Benutzer genau das bekommt, was er erwartet."
-
-#: C/optimization-intro.xml:154(listitem/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 ""
-"Erledigen Sie Dinge in der Idle-Schleife. Dies ist einfacher zu programmieren "
-"als Multi-Threading, aber die Dinge geschehen vom Benutzer unbemerkt. Seien "
-"Sie jedoch vorsichtig. Wenn Ihr Programm sehr viel Zeit in der Idle-Schleife "
-"verbringt, dann wird es träge. Stellen Sie sicher, dass die Kontrolle "
-"regelmäßig an die Hauptschleife übergeben wird."
-
-#: C/optimization-intro.xml:159(listitem/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 ""
-"Falls alles Andere scheitern sollte, informieren Sie den Benutzer mit einem "
-"Fortschrittsbalken drüber, dass es derzeit nur langsam voran geht. Das dürfte "
-"ihm lieber sein, als wenn Sie nur die Ergebnisse präsentieren würden. Er "
-"möchte zumindest wissen, dass das Programm nicht abgestürzt ist und er dann "
-"erst einmal eine Tasse Kaffee trinken gehen kann."
-
-#~ msgid "2004-2005"
-#~ msgstr "2004-2005"
-
-#~ msgid "Callum McKenzie"
-#~ msgstr "Callum McKenzie"
-
-#~ msgid "Robert Love"
-#~ msgstr "Robert Love"
-
-#~ msgid "Callum"
-#~ msgstr "Callum"
-
-#~ msgid "McKenzie"
-#~ msgstr "McKenzie"
-
-#~ msgid "Robert"
-#~ msgstr "Robert"
-
-#~ msgid "Love"
-#~ msgstr "Love"
-
-#~ msgid "0.1"
-#~ msgstr "0.1"
+"Effekt von Pixmaps und anderen Ressourcen des X-Servers zu messen, sollten Sie "
+"das Programm <link href=\"http://www.freedesktop.org/Software/xrestop";
+"\">xrestop</link> verwenden."
 
-#~ msgid "November 2007"
-#~ msgstr "November 2007"


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