[gnome-devel-docs] [l10n] Updated German doc translation



commit 079ad9dd5be300d74a3ed91335d5fd95726fcb43
Author: Mario Blättermann <mario blaettermann gmail com>
Date:   Tue Mar 12 22:17:30 2013 +0100

    [l10n] Updated German doc translation

 optimization-guide/de/de.po | 1196 ++++++++++++++++++++++---------------------
 1 files changed, 609 insertions(+), 587 deletions(-)
---
diff --git a/optimization-guide/de/de.po b/optimization-guide/de/de.po
index a03b666..7bb0991 100644
--- a/optimization-guide/de/de.po
+++ b/optimization-guide/de/de.po
@@ -1,16 +1,17 @@
 # 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.
+# Mario Blättermann <mario blaettermann gmail com>, 2009, 2010, 2012, 2013.
 # Christian Kirbach <Christian Kirbach googlemail com>, 2010.
 #
 msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs master\n"
-"POT-Creation-Date: 2012-02-10 19:19+0000\n"
-"PO-Revision-Date: 2012-02-18 22:13+0100\n"
+"POT-Creation-Date: 2012-10-31 14:51+0000\n"
+"PO-Revision-Date: 2013-03-12 22:05+0100\n"
 "Last-Translator: Mario Blättermann <mario blaettermann gmail com>\n"
 "Language-Team: Deutsch <gnome-de gnome org>\n"
+"Language: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
@@ -19,456 +20,209 @@ msgstr ""
 "X-Poedit-Country: GERMANY\n"
 "X-Poedit-SourceCharset: utf-8\n"
 
-#: C/optimization-intro.xml:3(title)
-msgid "The Quick Guide to Optimizing GNOME Programs"
-msgstr "Schnelleinführung in die Optimierung von GNOME-Programmen"
-
-#: C/optimization-intro.xml:5(para)
-msgid ""
-"This is a brief introduction to optimization, both the hows and the whys. "
-"Details of individual tools and techniques are left for later articles, but a "
-"collection of hints and tricks is provided."
+#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
+msgctxt "_"
+msgid "translator-credits"
 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."
+"Mario Blättermann <mario blaettermann gmail com>, 2009, 2012, 2013\n"
+"Christian Kirbach <christian kirbach googlemail com>, 2010"
 
-#: C/optimization-intro.xml:10(title)
-msgid "What are we Optimizing?"
-msgstr "Was optimieren wir?"
+#: C/index.docbook:5(book/title)
+msgid "Optimizing GNOME Software"
+msgstr "Optimieren von GNOME-Software"
 
-#: C/optimization-intro.xml:11(para)
-msgid ""
-"When we optimize for GNOME the first thing to remember is this: we are not "
-"trying to make the program better, we are trying to make the person using the "
-"computer happier."
-msgstr ""
-"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/index.docbook:8(publisher/publishername)
+#: C/index.docbook:56(revdescription/para)
+msgid "GNOME Documentation Project"
+msgstr "GNOME-Dokumentationsprojekt"
 
-#: C/optimization-intro.xml:14(para)
-msgid ""
-"Better programs make people happier, but there are some improvements that "
-"will make them a lot happier than others: Responsiveness, start-up time, easy "
-"to access commands and not having the computer go into swap the moment more "
-"than two programs are open."
-msgstr ""
-"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/index.docbook:10(bookinfo/copyright)
+msgid "<year>2004-2005</year> <holder>Callum McKenzie</holder>"
+msgstr "<year>2004-2005</year> <holder>Callum McKenzie</holder>"
 
-#: C/optimization-intro.xml:17(para)
-msgid ""
-"Traditional optimization tackles concepts like CPU use, code size, the number "
-"of mouse clicks and the memory use of the program. This second list has been "
-"chosen to correlate with the first list, however there is an important "
-"difference: The person using GNOME doesn't care about the second list, but "
-"they care a lot about the first list. When optimizing GNOME programs we will "
-"reduce CPU use, memory use and all those things, but these are the means to "
-"the end, not the final goal. We are optimizing for people."
-msgstr ""
-"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/index.docbook:14(bookinfo/copyright)
+msgid "<year>2004-2005</year> <holder>Robert Love</holder>"
+msgstr "<year>2004-2005</year> <holder>Robert Love</holder>"
 
-#: C/optimization-intro.xml:23(title)
-msgid "Doing the Optimization"
-msgstr "Ausführung der Optimierung"
+#: 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/optimization-intro.xml:24(para)
+#: C/index.docbook:29(legalnotice/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."
+"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 ""
-"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."
+"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/optimization-intro.xml:27(para)
+#: C/index.docbook:41(legalnotice/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."
+"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 ""
-"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>."
+"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/optimization-intro.xml:30(para)
+#: C/index.docbook:51(revhistory/revision)
 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."
+"<revnumber>0.1</revnumber> <date>November 2007</date> <_:revdescription-1/>"
 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."
+"<revnumber>0.1</revnumber> <date>November 2007</date> <_:revdescription-1/>"
 
-#: C/optimization-intro.xml:33(para)
+#: C/index.docbook:63(abstract/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."
+"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 ""
-"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."
+"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-intro.xml:36(para)
+#: C/optimization-harmful.xml:3(chapter/title)
+msgid "Disk Seeks Considered Harmful"
+msgstr "Laufwerkszugriffe werden als nachteilig angesehen"
+
+#: C/optimization-harmful.xml:5(chapter/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."
+"Disk seeks are one of the most expensive operations you can possibly perform. "
+"You might not know this from looking at how many of them we perform, but "
+"trust me, they are. Consequently, please refrain from the following "
+"suboptimal behavior:"
 msgstr ""
-"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."
+"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-intro.xml:41(title)
-msgid "Hints"
-msgstr "Hinweise"
+#: C/optimization-harmful.xml:10(listitem/para)
+msgid "Placing lots of small files all over the disk."
+msgstr "Viele kleine Dateien auf dem gesamten Laufwerk verteilen."
 
-#: C/optimization-intro.xml:43(title)
-msgid "The Fundamentals"
-msgstr "Die Grundlagen"
+#: C/optimization-harmful.xml:15(listitem/para)
+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-intro.xml:45(para)
+#: C/optimization-harmful.xml:20(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."
+"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 ""
-"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."
+"Obiges mit Dateien tun, die zu verschiedenen Zeitpunkten erstellt wurden, so "
+"dass sie fragmentiert sind und noch mehr Plattenaktivität verursachen."
 
-#: C/optimization-intro.xml:50(para)
+#: C/optimization-harmful.xml:25(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."
+"Doing the above on files that are in different directories, so as to ensure "
+"that they are in different cylinder groups and and cause even more seeking."
 msgstr ""
-"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."
+"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-intro.xml:55(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-harmful.xml:30(listitem/para)
+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-intro.xml:60(para)
-msgid ""
-"Use the right algorithm. The classic text-book example is using quick-sort "
-"instead of bubble-sort. There are many others, some save memory, some save "
-"CPU. Also, see what shortcuts you can make: you can do quicker than quick-"
-"sort if you are prepared to make some compromises."
+#: C/optimization-harmful.xml:35(chapter/para)
+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)
+msgid "Consolidate data into a single file."
+msgstr "Fassen Sie Daten in einer einzigen Datei zusammen."
+
+#: C/optimization-harmful.xml:45(listitem/para)
+msgid "Keep data together in the same directory."
+msgstr "Halten Sie Daten im gleichen Ordner vor."
+
+#: C/optimization-harmful.xml:50(listitem/para)
+msgid "Cache data so as to not need to reread constantly."
 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."
+"Speichern Sie Daten zwischen, so dass sie nicht fortwährend erneut eingelesen "
+"werden müssen."
 
-#: C/optimization-intro.xml:65(para)
+#: C/optimization-harmful.xml:55(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."
+"Share data so as not to have to reread it from disk when each application "
+"loads."
 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."
+"Geben Sie Daten frei, so dass sie nicht beim Laden von Anwendungen immer "
+"wieder erneut gelesen werden müssen."
 
-#: C/optimization-intro.xml:70(para)
+#: C/optimization-harmful.xml:60(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."
+"Consider caching all of the data in a single binary file that is properly "
+"aligned and can be mmaped."
 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."
+"Erwägen Sie, alle Daten in einer einzigen Binärdatei zwischenzuspeichern, die "
+"sauber aufgebaut ist und mit mmap verarbeitbar ist."
 
-#: C/optimization-intro.xml:75(para)
+#: C/optimization-harmful.xml:65(chapter/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."
+"The trouble with disk seeks are compounded for reads, which is unfortunately "
+"what we are doing. Remember, reads are generally synchronous while writes are "
+"asynchronous. This only compounds the problem, serializing each read, and "
+"contributing to program latency."
 msgstr ""
-"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(title)
-msgid "Traps for the Unwary"
-msgstr "Fallen für die Unvorsichtigen"
-
-#: C/optimization-intro.xml:83(para)
-msgid ""
-"Beware of side effects. There can often be strange interactions between "
-"different sections of code, a speed-up in one part can slow another part down."
-msgstr ""
-"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(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(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(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(title)
-msgid "Low Level Hints"
-msgstr "Tipps mit niedrigem Niveau"
-
-#: C/optimization-intro.xml:106(para)
-msgid ""
-"When optimizing memory use, be wary of the difference between peak usage and "
-"average memory usage. Some memory is almost always allocated, this is usually "
-"bad. Some is only briefly allocated, this may be quite acceptable. Tools like "
-"massif use the concept of space-time, the product of memory used and the "
-"duration it was allocated for, instead."
-msgstr ""
-"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(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(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(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(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(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(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(title)
-msgid "High Level Tricks"
-msgstr "Tricks auf hohem Niveau"
-
-#: C/optimization-intro.xml:144(para)
-msgid ""
-"Take advantage of concurrency. This doesn't just mean using multiple "
-"processors, it also means taking advantage of the time the user spends "
-"thinking about what they are going to do next to perform some calculations in "
-"anticipation. Do calculations while waiting for data to be loaded off disk. "
-"Take advantage of multiple resources, use them all at once."
-msgstr ""
-"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(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(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(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."
+"Die Probleme mit Plattenzugriffen verstärken sich beim Lesen, was wir leider "
+"eben gerade tun. Merken Sie sich, dass im Allgemeinen Lesen synchron und "
+"Schreiben asynchron verläuft. Das verschlimmert nur das Problem mit jedem "
+"seriellen Lesevorgang und trägt zu Programmverzögerungen bei."
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/optimization-massif.xml:52(None)
+#. 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)
+msgctxt "_"
 msgid ""
-"@@image: 'figures/massif-before.png'; md5=1a6b2ace548e6789ab8bfacb3727b345"
+"external ref='figures/massif-before.png' "
+"md5='1a6b2ace548e6789ab8bfacb3727b345'"
 msgstr "ok"
 
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/optimization-massif.xml:114(None)
+#. 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)
+msgctxt "_"
 msgid ""
-"@@image: 'figures/massif-after.png'; md5=36d1b4ad7ab49b28b69ad3eabbaa7069"
+"external ref='figures/massif-after.png' md5='36d1b4ad7ab49b28b69ad3eabbaa7069'"
 msgstr "ok"
 
-#: C/optimization-massif.xml:3(title)
+#: C/optimization-massif.xml:3(chapter/title)
 msgid ""
 "Using <application>Massif</application> for Profiling Memory Use in GNOME "
 "Software"
@@ -476,7 +230,7 @@ msgstr ""
 "Verwendung von <application>Massif</application> zur Profilierung des "
 "Speicherverbrauchs in GNOME-Software"
 
-#: C/optimization-massif.xml:5(para)
+#: C/optimization-massif.xml:5(chapter/para)
 msgid ""
 "This article describes how to use the <application>Massif</application> heap "
 "profiler with GNOME applications. We describe how to invoke, interpret, and "
@@ -489,11 +243,11 @@ msgstr ""
 "application> richtig zu nutzen. Das Spiel <application>Swell Foop</"
 "application> wird als Beispiel verwendet."
 
-#: C/optimization-massif.xml:10(title)
+#: C/optimization-massif.xml:10(sect1/title)
 msgid "Introduction"
 msgstr "Einführung"
 
-#: C/optimization-massif.xml:11(para)
+#: 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. "
@@ -508,7 +262,7 @@ msgstr ""
 "Lebensdauer eines Programms. Speziell wird der Speicherverbrauch von »heap« "
 "und »stack« aufgezeichnet."
 
-#: C/optimization-massif.xml:14(para)
+#: 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 "
@@ -531,7 +285,7 @@ msgstr ""
 "application> liefert auch Informationen darüber, wie viel Arbeitsspeicher für "
 "den Heap belegt wird."
 
-#: C/optimization-massif.xml:17(para)
+#: 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."
@@ -540,11 +294,11 @@ msgstr ""
 "Übersicht in einer PostScript-Datei und eine detaillierte Ausgabe in einer "
 "Textdatei."
 
-#: C/optimization-massif.xml:22(title)
+#: 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(para)
+#: 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 "
@@ -568,7 +322,7 @@ msgstr ""
 "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(para)
+#: 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 "
@@ -584,11 +338,11 @@ msgstr ""
 "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(para)
+#: C/optimization-massif.xml:29(sect1/para)
 msgid "Your command-line should therefore look something like:"
 msgstr "Ihre Befehlszeile sollte daher so aussehen:"
 
-#: C/optimization-massif.xml:32(programlisting)
+#: C/optimization-massif.xml:32(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -601,7 +355,7 @@ msgstr ""
 "         --alloc-fn=g_malloc0 --alloc-fn=g_mem_chunk_alloc swell-foop\n"
 "        "
 
-#: C/optimization-massif.xml:36(para)
+#: C/optimization-massif.xml:36(sect1/para)
 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 "
@@ -612,11 +366,11 @@ msgstr ""
 "den Prozessor, wodurch es <emphasis>äußerst</emphasis> langsam läuft. "
 "Außerdem wird sehr viel Speicher benötigt."
 
-#: C/optimization-massif.xml:41(title)
+#: C/optimization-massif.xml:41(sect1/title)
 msgid "Interpreting the Results"
 msgstr "Interpretieren der Ergebnisse"
 
-#: C/optimization-massif.xml:42(para)
+#: C/optimization-massif.xml:42(sect1/para)
 msgid ""
 "The graphical output of <application>Massif</application> is largely self "
 "explanatory. Each band represents the memory allocated by one function over "
@@ -630,7 +384,7 @@ msgstr ""
 "Speicher verbrauchen, üblicherweise die dickeren, oberen, dann schauen Sie "
 "sich die Textausgabe für weitere Details an."
 
-#: C/optimization-massif.xml:45(para)
+#: C/optimization-massif.xml:45(sect1/para)
 msgid ""
 "The text file is arranged as a hierarchy of sections, at the top is a list of "
 "the worst memory users arranged in order of decreasing spacetime. Below this "
@@ -644,7 +398,7 @@ msgstr ""
 "im Aufruf-Stack feiner detaillierter sind. Um dies zu verdeutlichen, "
 "verwenden wir die Ausgabe des oben stehenden Befehls."
 
-#: C/optimization-massif.xml:49(title)
+#: C/optimization-massif.xml:49(figure/title)
 msgid ""
 "<application>Massif</application> output for the unoptimized version of the "
 "<application>Swell Foop</application> program."
@@ -652,7 +406,7 @@ msgstr ""
 "<application>Massif</application>-Ausgabe für die nicht optimierte Version "
 "des Programms <application>Swell Foop</application>."
 
-#: C/optimization-massif.xml:56(para)
+#: 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 "
@@ -679,7 +433,7 @@ msgstr ""
 "application> diesen ebenfalls protokolliert. Wie werden diesen zweiten "
 "Prozess ignorieren. Er verbraucht nur sehr wenig Speicher."
 
-#: C/optimization-massif.xml:59(para)
+#: C/optimization-massif.xml:59(sect1/para)
 msgid ""
 "At the top of the graph we see a large yellow band labelled gdk_pixbuf_new. "
 "This seems like an ideal candidate for optimization, but we will need to use "
@@ -692,7 +446,7 @@ msgstr ""
 "herauszufinden, wo gdk_pixbuf_new aufgerufen wird. Der Anfang der Textdatei "
 "sieht in etwa so aus:"
 
-#: C/optimization-massif.xml:62(programlisting)
+#: C/optimization-massif.xml:62(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -727,7 +481,7 @@ msgstr ""
 "    3.5% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
 "        "
 
-#: C/optimization-massif.xml:77(para)
+#: C/optimization-massif.xml:77(sect1/para)
 msgid ""
 "The line with the '=' signs indicates how far down the stack trace we are, in "
 "this case we are at the top. After this it lists the heaviest users of memory "
@@ -746,7 +500,7 @@ msgstr ""
 "herauszufinden, was gdk_pixbuf_new aufrief, müssen wir weiter unten in der "
 "Textdatei suchen:"
 
-#: C/optimization-massif.xml:80(programlisting)
+#: C/optimization-massif.xml:80(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -781,7 +535,7 @@ msgstr ""
 "  and 1 other insignificant place\n"
 "        "
 
-#: C/optimization-massif.xml:95(para)
+#: C/optimization-massif.xml:95(sect1/para)
 msgid ""
 "The first line tells us we are now four levels deep into the stack. Below it "
 "is a listing of the function calls that leads from here to gdk_pixbuf_new. "
@@ -800,7 +554,7 @@ msgstr ""
 "Foop</application>-Code erreichen kann. Aus der Auflistung kann man sofort "
 "erkennen, dass der problematische Code in load_scenario ist."
 
-#: C/optimization-massif.xml:98(para)
+#: C/optimization-massif.xml:98(sect1/para)
 msgid ""
 "Now that we know what part of our code is using all the spacetime we can look "
 "at it and find out why. It turns out that the load_scenario is loading a "
@@ -812,11 +566,11 @@ msgstr ""
 "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(title)
+#: C/optimization-massif.xml:103(sect1/title)
 msgid "Acting on the Results"
 msgstr "Aufgrund der Ergebnisse handeln"
 
-#: C/optimization-massif.xml:104(para)
+#: C/optimization-massif.xml:104(sect1/para)
 msgid ""
 "Reducing spacetime consumption is good, but there are two ways of reducing it "
 "and they are not equal. You can either reduce the amount of memory allocated, "
@@ -843,7 +597,7 @@ msgstr ""
 "Speicherbelegung nicht überlappen. Demnach ist es besser, die "
 "Speicherbelegung zu reduzieren."
 
-#: C/optimization-massif.xml:107(para)
+#: C/optimization-massif.xml:107(sect1/para)
 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</"
@@ -864,7 +618,7 @@ msgstr ""
 "Änderungen, die die Pixbufs entsorgen, sobald diese vom X-Server geladen "
 "wurden."
 
-#: C/optimization-massif.xml:111(title)
+#: C/optimization-massif.xml:111(figure/title)
 msgid ""
 "<application>Massif</application> output for the optimized <application>Swell "
 "Foop</application> program."
@@ -872,7 +626,7 @@ msgstr ""
 "<application>Massif</application>-Ausgaben für das optimierte Programm "
 "<application>Swell Foop</application>."
 
-#: C/optimization-massif.xml:118(para)
+#: C/optimization-massif.xml:118(sect1/para)
 msgid ""
 "The spacetime use of gdk_pixbuf_new is now a thin band that only spikes "
 "briefly (it is now the sixteenth band down and shaded magenta). As a bonus, "
@@ -889,7 +643,7 @@ msgstr ""
 "wäre die Wahrscheinlichkeit ziemlich gering, dass der höchste "
 "Speicherverbrauch beider zusammen fällt."
 
-#: C/optimization-massif.xml:121(para)
+#: C/optimization-massif.xml:121(sect1/para)
 msgid ""
 "Can we do better ? A quick examination of <application>Massif</application>'s "
 "text output reveals: g_strdup to be the new major offender."
@@ -898,7 +652,7 @@ msgstr ""
 "<application>Massif</application> enthüllt: g_strdup ist der neue "
 "Hauptschuldige."
 
-#: C/optimization-massif.xml:124(programlisting)
+#: C/optimization-massif.xml:124(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -933,14 +687,14 @@ msgstr ""
 "    5.2% : 0x2A4A6B: __gconv_open (in /lib/tls/libc-2.3.3.so)\n"
 "        "
 
-#: C/optimization-massif.xml:139(para)
+#: C/optimization-massif.xml:139(sect1/para)
 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(programlisting)
+#: C/optimization-massif.xml:142(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -977,7 +731,7 @@ msgstr ""
 "  and 155 other insignificant places\n"
 "        "
 
-#: C/optimization-massif.xml:158(para)
+#: C/optimization-massif.xml:158(sect1/para)
 msgid ""
 "We now face diminishing returns for our optimization efforts. The graph hints "
 "at another possible approach: Both the \"other\" and \"heap admin\" bands are "
@@ -994,11 +748,11 @@ msgstr ""
 "Anforderungen größer und der Verwaltungsaufwand (»heap admin«) kann reduziert "
 "werden."
 
-#: C/optimization-massif.xml:163(title)
+#: C/optimization-massif.xml:163(sect1/title)
 msgid "Caveats"
 msgstr "Vorbehalte"
 
-#: C/optimization-massif.xml:164(para)
+#: C/optimization-massif.xml:164(sect1/para)
 msgid ""
 "There are a couple of things to watch out for: Firstly, spacetime is only "
 "reported as a percentage, you have to compare it to the overall size of the "
@@ -1011,7 +765,7 @@ msgstr ""
 "anzugehen. Der Graph mit der vertikalen Achse in Kilobytes eignet sich gut "
 "dafür."
 
-#: C/optimization-massif.xml:167(para)
+#: 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 "
@@ -1040,196 +794,464 @@ msgstr ""
 "Sie das Programm <ulink type=\"http\" url=\"http://www.freedesktop.org/";
 "Software/xrestop\">xrestop</ulink> verwenden."
 
-#: C/optimization-harmful.xml:3(title)
-msgid "Disk Seeks Considered Harmful"
-msgstr "Laufwerkszugriffe werden als nachteilig angesehen"
+#: 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-harmful.xml:5(para)
+#: C/optimization-intro.xml:5(chapter/para)
 msgid ""
-"Disk seeks are one of the most expensive operations you can possibly perform. "
-"You might not know this from looking at how many of them we perform, but "
-"trust me, they are. Consequently, please refrain from the following "
-"suboptimal behavior:"
+"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 ""
-"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(para)
-msgid "Placing lots of small files all over the disk."
-msgstr "Viele kleine Dateien auf dem gesamten Laufwerk verteilen."
+"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-harmful.xml:15(para)
-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-intro.xml:10(sect1/title)
+msgid "What are we Optimizing?"
+msgstr "Was optimieren wir?"
 
-#: C/optimization-harmful.xml:20(para)
+#: C/optimization-intro.xml:11(sect1/para)
 msgid ""
-"Doing the above on files that are laid out at different times, so as to "
-"ensure that they are fragmented and cause even more seeking."
+"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 ""
-"Obiges mit Dateien tun, die zu verschiedenen Zeitpunkten erstellt wurden, so "
-"dass sie fragmentiert sind und noch mehr Plattenaktivität verursachen."
+"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-harmful.xml:25(para)
+#: C/optimization-intro.xml:14(sect1/para)
 msgid ""
-"Doing the above on files that are in different directories, so as to ensure "
-"that they are in different cylinder groups and and cause even more seeking."
+"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 ""
-"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(para)
-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(para)
-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(para)
-msgid "Consolidate data into a single file."
-msgstr "Fassen Sie Daten in einer einzigen Datei zusammen."
+"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-harmful.xml:45(para)
-msgid "Keep data together in the same directory."
-msgstr "Halten Sie Daten im gleichen Ordner vor."
+#: 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-harmful.xml:50(para)
-msgid "Cache data so as to not need to reread constantly."
+#: 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 ""
-"Speichern Sie Daten zwischen, so dass sie nicht fortwährend erneut eingelesen "
-"werden müssen."
+"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-harmful.xml:55(para)
+#: C/optimization-intro.xml:27(sect1/para)
 msgid ""
-"Share data so as not to have to reread it from disk when each application "
-"loads."
+"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 ""
-"Geben Sie Daten frei, so dass sie nicht beim Laden von Anwendungen immer "
-"wieder erneut gelesen werden müssen."
+"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-harmful.xml:60(para)
+#: C/optimization-intro.xml:30(sect1/para)
 msgid ""
-"Consider caching all of the data in a single binary file that is properly "
-"aligned and can be mmaped."
+"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 ""
-"Erwägen Sie, alle Daten in einer einzigen Binärdatei zwischenzuspeichern, die "
-"sauber aufgebaut ist und mit mmap verarbeitbar ist."
+"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-harmful.xml:65(para)
+#: C/optimization-intro.xml:33(sect1/para)
 msgid ""
-"The trouble with disk seeks are compounded for reads, which is unfortunately "
-"what we are doing. Remember, reads are generally synchronous while writes are "
-"asynchronous. This only compounds the problem, serializing each read, and "
-"contributing to program latency."
+"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 ""
-"Die Probleme mit Plattenzugriffen verstärken sich beim Lesen, was wir leider "
-"eben gerade tun. Merken Sie sich, dass im Allgemeinen Lesen synchron und "
-"Schreiben asynchron verläuft. Das verschlimmert nur das Problem mit jedem "
-"seriellen Lesevorgang und trägt zu Programmverzögerungen bei."
+"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-guide.xml:5(title)
-msgid "Optimizing GNOME Software"
-msgstr "Optimieren von GNOME-Software"
+#: 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-guide.xml:8(publishername) C/optimization-guide.xml:56(para)
-msgid "GNOME Documentation Project"
-msgstr "GNOME-Dokumentationsprojekt"
+#: C/optimization-intro.xml:41(sect1/title)
+msgid "Hints"
+msgstr "Hinweise"
 
-#: C/optimization-guide.xml:11(year) C/optimization-guide.xml:15(year)
-msgid "2004-2005"
-msgstr "2004-2005"
+#: C/optimization-intro.xml:43(itemizedlist/title)
+msgid "The Fundamentals"
+msgstr "Die Grundlagen"
 
-#: C/optimization-guide.xml:12(holder)
-msgid "Callum McKenzie"
-msgstr "Callum McKenzie"
+#: 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-guide.xml:16(holder)
-msgid "Robert Love"
-msgstr "Robert Love"
+#: 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-guide.xml:20(firstname)
-msgid "Callum"
-msgstr "Callum"
+#: 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-guide.xml:21(surname)
-msgid "McKenzie"
-msgstr "McKenzie"
+#: 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-guide.xml:24(firstname)
-msgid "Robert"
-msgstr "Robert"
+#: 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-guide.xml:25(surname)
-msgid "Love"
-msgstr "Love"
+#: 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-guide.xml:29(para)
+#: C/optimization-intro.xml:75(listitem/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."
+"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 ""
-"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."
+"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-guide.xml:41(para)
+#: C/optimization-intro.xml:83(listitem/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."
+"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 ""
-"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."
+"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-guide.xml:52(revnumber)
-msgid "0.1"
-msgstr "0.1"
+#: 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-guide.xml:53(date)
-msgid "November 2007"
-msgstr "November 2007"
+#: 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-guide.xml:55(para)
-msgid "William Johnston"
-msgstr "William Johnston"
+#: 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-guide.xml:57(para)
-msgid "Intial conversion to docbook format."
-msgstr "Erstmalige Umwandlung in das DocBook-Format."
+#: C/optimization-intro.xml:104(itemizedlist/title)
+msgid "Low Level Hints"
+msgstr "Tipps mit niedrigem Niveau"
 
-#: C/optimization-guide.xml:63(para)
+#: C/optimization-intro.xml:106(listitem/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."
+"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 ""
-"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."
+"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."
 
-#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
-#: C/optimization-guide.xml:0(None)
-msgid "translator-credits"
+#: 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 ""
-"Mario Blättermann <mario blaettermann gmail com>, 2009, 2012\n"
-"Christian Kirbach <christian kirbach googlemail com>, 2010"
+"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"
+
+#~ msgid "November 2007"
+#~ msgstr "November 2007"


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