[gnome-devel-docs] Updated Spanish translation



commit c8ac0d38c57b4982c6bf9bf6d481de251e8c2c14
Author: Daniel Mustieles <daniel mustieles gmail com>
Date:   Mon Nov 19 11:50:27 2012 +0100

    Updated Spanish translation

 optimization-guide/es/es.po | 1198 ++++++++++++++++++++++---------------------
 1 files changed, 615 insertions(+), 583 deletions(-)
---
diff --git a/optimization-guide/es/es.po b/optimization-guide/es/es.po
index d9a74d6..82b0599 100644
--- a/optimization-guide/es/es.po
+++ b/optimization-guide/es/es.po
@@ -9,465 +9,243 @@ msgid ""
 msgstr ""
 "Project-Id-Version: gnome-devel-docs.optimization-guide.master\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-18 22:25+0000\n"
-"PO-Revision-Date: 2012-02-12 20:34+0100\n"
+"POT-Creation-Date: 2012-10-31 14:51+0000\n"
+"PO-Revision-Date: 2012-11-19 11:22+0100\n"
 "Last-Translator: Daniel Mustieles <daniel mustieles gmail com>\n"
 "Language-Team: EspaÃol <gnome-es-list gnome org>\n"
 "Language: \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"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: C/optimization-intro.xml:3(title)
-msgid "The Quick Guide to Optimizing GNOME Programs"
-msgstr "GuÃa rÃpida para optimizar programas de GNOME"
+#. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
+#| msgid "translator-credits"
+msgctxt "_"
+msgid "translator-credits"
+msgstr ""
+"Daniel Mustieles <daniel mustieles gmail com>, 2012\n"
+"Jorge GonzÃlez <jorgegonz svn gnome org>, 2009-2010"
+
+#: C/index.docbook:5(book/title)
+msgid "Optimizing GNOME Software"
+msgstr "Optimizar software de GNOME"
+
+#: C/index.docbook:8(publisher/publishername)
+#: C/index.docbook:56(revdescription/para)
+msgid "GNOME Documentation Project"
+msgstr "Proyecto de documentaciÃn de GNOME"
+
+#: 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/optimization-intro.xml:5(para)
+#: 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 ""
-"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."
+"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 ""
-"Esta es una breve introducciÃn a la optimizaciÃn, de los cÃmos tanto de los "
-"porquÃs. Se dejan para posteriores artÃculos los detalles de herramientas y "
-"tÃcnicas individuales pero se proporciona una colecciÃn de sugerencias y "
-"trucos."
-
-#: C/optimization-intro.xml:10(title)
-msgid "What are we Optimizing?"
-msgstr "ÂQuà se està optimizando?"
+"Se otorga permiso para copiar, distribuir y/o modificar este documento bajo "
+"los tÃrminos de la <citetitle>Licencia de DocumentaciÃn Libre de GNU</"
+"citetitle>, VersiÃn 1.1 o cualquier otra versiÃn posterior publicada por la "
+"Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta "
+"Delantera ni Textos de Cubierta Trasera. Puede encontrar una copia de la "
+"licencia <citetitle>Licencia de DocumentaciÃn Libre de GNU</citetitle> de la "
+"Free Software Foundation visitando <ulink type=\"http\" url=\"http://www.fsf.";
+"org\">su pÃgina web</ulink> o escribiendo a: Free Software Foundation, Inc., "
+"59 Temple Place - Suite 330, Boston, MA 02111-1307, EE. UU."
 
-#: C/optimization-intro.xml:11(para)
+#: C/index.docbook:41(legalnotice/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."
+"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 ""
-"Al optimizar GNOME lo primero que hay que recordar es esto: no se està "
-"intentando mejorar el programa, se està intentando hacer que las personas "
-"usen el equipo mÃs felices."
+"Muchos de los nombres usados por compaÃÃas para distinguir sus productos y "
+"servicios se mencionan como marcas comerciales. Donde aparezcan dichos "
+"nombres en cualquier documentaciÃn GNOME, y para que los miembros del "
+"proyecto de documentaciÃn las reconozcan dichas marcas comerciales, dichos "
+"nombres se imprimen en mayÃsculas o iniciales mayÃsculas."
 
-#: C/optimization-intro.xml:14(para)
+#: 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 "ConversiÃn inicial al formato docbook."
+
+#: C/index.docbook:51(revhistory/revision)
 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."
+"<revnumber>0.1</revnumber> <date>November 2007</date> <_:revdescription-1/>"
 msgstr ""
-"Programas mejores hacen a la gente mÃs feliz pero existen algunas mejoras "
-"que los harÃn mÃs felices que otras: tiempo de respuesta, tiempo de inicio, "
-"facilidad para acceder a comandos y que el equipo no tenga que usar la "
-"memoria de intercambio cuando mÃs de dos programas estÃn abiertos."
+"<revnumber>0.1</revnumber> <date>noviembre de 2007</date> <_:revdescription-"
+"1/>"
 
-#: C/optimization-intro.xml:17(para)
+#: C/index.docbook:63(abstract/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."
+"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 ""
-"La optimizaciÃn tradicional contempla conceptos como el uso de CPI, el "
-"tamaÃo del cÃdigo, el nÃmero de pulsaciones del ratÃn y el uso de memoria de "
-"programa. Se ha elegido esta segunda lista para correlar con la primera, no "
-"obstante existe una diferencia importante. A la persona que usa GNOME no le "
-"importa la segunda lista, pero sà la primera. Al optimizar los programas de "
-"GNOME se reducirà el uso de CPU, el uso de memoria y todo aquello, pero son "
-"conceptos para el fin, no el objetivo final. Se optimiza para las personas."
+"El software se puede optimizar de muchas formas: para mayor velocidad, "
+"tamaÃo del programa o uso de memoria. Esta secciÃn contiene guÃas y "
+"tutoriales para optimizar su software."
 
-#: C/optimization-intro.xml:23(title)
-msgid "Doing the Optimization"
-msgstr "Realizar la optimizaciÃn"
+#: C/optimization-harmful.xml:3(chapter/title)
+msgid "Disk Seeks Considered Harmful"
+msgstr "BÃsquedas de disco consideradas daÃinas"
 
-#: C/optimization-intro.xml:24(para)
+#: C/optimization-harmful.xml:5(chapter/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."
+"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 ""
-"En la secciÃn anterior se omitià un calificador importante: optimizar algo "
-"debe ser medible. No se puede medir la felicidad. No obstante se puede medir "
-"el tiempo de inicio de un programa para saber si se ha mejorado. La "
-"felicidad del usuario aumentarà pues."
+"Las bÃsquedas de disco son una de las operaciones mÃs caras que puede "
+"realizar. Puede que no sepa esto simplemente mirando cuÃntas se realizan, "
+"pero crea que realmente lo son. Por ello, evite los siguientes "
+"comportamientos:"
+
+#: C/optimization-harmful.xml:10(listitem/para)
+msgid "Placing lots of small files all over the disk."
+msgstr "Ubicar montones de pequeÃos archivos por todo el disco."
 
-#: C/optimization-intro.xml:27(para)
+#: C/optimization-harmful.xml:15(listitem/para)
+msgid "Opening, stating, and reading lots of files all over the disk"
+msgstr "Abrir, iniciar y leer montones de archivos por todo el disco."
+
+#: C/optimization-harmful.xml:20(listitem/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."
+"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 ""
-"La optimizaciÃn es el proceso de medida, refinamiento y remedida. Lo primero "
-"que debe hacer es encontrar una forma de medir lo que està optimizando. "
-"Idealmente la medida es un simple nÃmero, por ejemplo: el tiempo que se "
-"tarda en realizar una tarea. Esta es su prueba, es la Ãnica forma de saber "
-"si està ganando o perdiendo. Existe una gran diferencia entre un programa "
-"que <emphasis>deberÃa</emphasis> ser rÃpido y un programa que <emphasis>es</"
-"emphasis> rÃpido."
+"Realizar lo anterior sobre archivos que se abren en diferentes momentos, "
+"para asegurarse de que estÃn fragmentados y causan aÃn mÃs bÃsqueda del "
+"disco."
 
-#: C/optimization-intro.xml:30(para)
+#: C/optimization-harmful.xml:25(listitem/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."
+"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 ""
-"Una vez que tiene una prueba de rendimiento bÃsica debe encontrar por quà su "
-"cÃdigo no lo està haciendo tan bien como deberÃa. Es tentador hacerlo "
-"inspeccionando: simplemente mirar el cÃdigo y tratar de encontrar algo que "
-"parece que necesita una mejora. Estarà perdiendo el tiempo, Usar un "
-"perfilador para obtener una lista detallada de lo que su programa està "
-"haciendo es, realmente, la Ãnica forma de estar seguro."
+"Realizar lo siguiente sobre archivos que estÃn en diferentes carpetas, para "
+"asegurarse de que estÃn en grupos de cilindros diferentes y pueden causar "
+"incluso mÃs bÃsqueda."
 
-#: C/optimization-intro.xml:33(para)
-msgid ""
-"Usually the problem is isolated to small sections of code. Pick the worst "
-"place and concentrate on that first. Once that is done, rerun the profiler "
-"and repeat. As you proceed the gains made at each step will get less and "
-"less, at some point you will have to decide that the results are good "
-"enough. If your efforts are only extracting 10% improvements then you are "
-"well past the point where you should have stopped."
+#: C/optimization-harmful.xml:30(listitem/para)
+msgid "Repeatedly doing the above when it only needs to be done once."
 msgstr ""
-"Generalmente el problema està aislado en pequeÃas partes del cÃdigo. Elija "
-"la peor parte y concÃntrese en ella primero. Una vez que lo haya hecho, "
-"vuelva al perfilador y repita el proceso. SegÃn proceda, las mejoras "
-"obtenidas en cada paso se harÃn cada vez mÃs pequeÃas, en algÃn punto tendrà "
-"que decidir que los resultados son suficientes. Si sus esfuerzos sÃlo estÃn "
-"obteniendo un 10% de mejoras entonces hace tiempo que pasà el punto en el "
-"que deberÃa haber parado."
+"Realizar repetidamente lo anterior cuando sÃlo se necesita realizar una vez."
 
-#: C/optimization-intro.xml:36(para)
-msgid ""
-"Don't forget the big picture. For example, rather than just trying to speed "
-"up a piece of code, ask yourself if it needs to be run at all. Could it be "
-"combined with another piece of code? Can the results of previous "
-"calculations be saved and reused? It won't even need to be optimized if it "
-"is in a place where the user is never going to notice it. Worse still, the "
-"code may already be optimized and is doing the heavy calculations now to "
-"avoid doing them later. Code does not run in isolation and neither does the "
-"optimization process."
+#: C/optimization-harmful.xml:35(chapter/para)
+msgid "Ways in which you can optimize your code to be seek-friendly:"
 msgstr ""
-"No se olvide del objetivo final. Por ejemplo, en lugar de intentar mejorar "
-"un trozo de cÃdigo, pregÃntese si realmente se necesita ejecutar ese cÃdigo. "
-"ÂSe podrÃa combinar con otro trozo de cÃdigo? ÂSe pueden guardar y reusar "
-"cÃlculos previos? No necesitarà optimizarse si està en un lugar donde el "
-"usuario no lo va a notar. O aÃn peor, el cÃdigo puede ya estar optimizado y "
-"està haciendo cÃlculos pesados ahora para evitar hacerlos luego. El cÃdigo "
-"no se ejecuta aisladamente ni tampoco lo hace el proceso de optimizaciÃn."
+"Formas en las que puede optimizar su cÃdigo para que sea amigable a la hora "
+"de hacer bÃsquedas:"
 
-#: C/optimization-intro.xml:41(title)
-msgid "Hints"
-msgstr "Sugerencias"
+#: C/optimization-harmful.xml:40(listitem/para)
+msgid "Consolidate data into a single file."
+msgstr "Consolidar los datos en un solo archivo."
 
-#: C/optimization-intro.xml:43(title)
-msgid "The Fundamentals"
-msgstr "Lo fundamental"
+#: C/optimization-harmful.xml:45(listitem/para)
+msgid "Keep data together in the same directory."
+msgstr "Mantener los datos juntos en la mismo carpeta."
+
+#: C/optimization-harmful.xml:50(listitem/para)
+msgid "Cache data so as to not need to reread constantly."
+msgstr "Cachear los datos para no tener que volver a leerlos constantemente."
 
-#: C/optimization-intro.xml:45(para)
+#: C/optimization-harmful.xml:55(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."
+"Share data so as not to have to reread it from disk when each application "
+"loads."
 msgstr ""
-"Vuelva a ejecutar su prueba de rendimiento despuÃs de cada cambio que "
-"realice sobre el cÃdigo y mantenga un registro de todo lo que cambia y de "
-"cÃmo afecta al rendimiento. Esto le permite deshacer errores y tambiÃn le "
-"ayuda a no repetirlos."
+"Compartir los datos para no tener que volver a leerlos del disco cada vez "
+"que una aplicaciÃn se carga."
 
-#: C/optimization-intro.xml:50(para)
+#: C/optimization-harmful.xml:60(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."
+"Consider caching all of the data in a single binary file that is properly "
+"aligned and can be mmaped."
 msgstr ""
-"AsegÃrese de que su cÃdigo es correcto y està libre de errores antes de "
-"optimizarlo. Compruebe que permanece correcto y libre de errores despuÃs de "
-"haberlo optimizado."
-
-#: C/optimization-intro.xml:55(para)
-msgid "Optimize at the high level before optimizing the details."
-msgstr "Optimizar al nivel mÃs alto antes de optimizar los detalles."
+"Considerar cachear todos los datos en un archivo binario Ãnico que està "
+"alineado apropiadamente y se puede mapear."
 
-#: C/optimization-intro.xml:60(para)
+#: C/optimization-harmful.xml:65(chapter/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."
+"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 ""
-"Usar el algoritmo correcto. El clÃsico ejemplo de libro de texto es usar "
-"ordenaciÃn rÃpida en lugar de ordenaciÃn de burbuja. Existen muchos otros, "
-"algunos ahorran memoria, algunos ahorran CPU. TambiÃn debe ver quà atajos de "
-"teclado puede crear: puede hacerlo mÃs rÃpido que una ordenaciÃn rÃpida si "
-"està preparado para tomar ciertos compromisos."
+"El problema de las bÃsquedas en los discos se complica para las lecturas, "
+"que es desafortunadamente lo que se busca. Recuerde, las lecturas son "
+"generalmente sÃncronas mientras que las escrituras son asÃncronas. Esto sÃlo "
+"complica el problema, serializando cada lectura y contribuyendo a la "
+"latencia del programa."
 
-#: C/optimization-intro.xml:65(para)
+#. 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)
+#| msgid ""
+#| "@@image: 'figures/massif-before.png'; md5=1a6b2ace548e6789ab8bfacb3727b345"
+msgctxt "_"
 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."
+"external ref='figures/massif-before.png' "
+"md5='1a6b2ace548e6789ab8bfacb3727b345'"
 msgstr ""
-"La optimizaciÃn es intercambio. Obtener resultados mejora los cÃlculos pero "
-"aumenta la memoria en uso. Guardar datos al disco ahorra memoria pero cuesta "
-"tiempo al cargarlos de nuevo desde el disco."
+"external ref='figures/massif-before.png' "
+"md5='1a6b2ace548e6789ab8bfacb3727b345'"
 
-#: C/optimization-intro.xml:70(para)
+#. 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)
+#| msgid ""
+#| "@@image: 'figures/massif-after.png'; md5=36d1b4ad7ab49b28b69ad3eabbaa7069"
+msgctxt "_"
 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."
+"external ref='figures/massif-after.png' "
+"md5='36d1b4ad7ab49b28b69ad3eabbaa7069'"
 msgstr ""
-"AsegÃrese de elegir cierta variedad de entradas que optimizar. Si no lo hace "
-"es fÃcil que termine con un trozo de cÃdigo cuidadosamente optimizado para "
-"un campo y no para otros."
+"external ref='figures/massif-after.png' "
+"md5='36d1b4ad7ab49b28b69ad3eabbaa7069'"
 
-#: C/optimization-intro.xml:75(para)
+#: C/optimization-massif.xml:3(chapter/title)
 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 ""
-"Evite las operaciones caras: mÃltiples lecturas de disco pequeÃas. Use un "
-"montÃn de memoria para que el Ãrea de intercambio (ÂswapÂ) se haga "
-"innecesario. Evite cualquier cosa que escriba o lea innecesariamente del "
-"disco. La red tambiÃn es lenta. Evite tambiÃn operaciones grÃficas que "
-"necesitan una respuesta del servidor X."
-
-#: C/optimization-intro.xml:81(title)
-msgid "Traps for the Unwary"
-msgstr "Trampas para los imprudentes"
-
-#: 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 ""
-"Està atento a efectos laterales. Generalmente son interacciones extraÃas "
-"entre diferentes secciones del cÃdigo, una extensiÃn de una parte puede "
-"retardar otra."
-
-#: 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 ""
-"Al cronometrar el tiempo del cÃdigo, incluso en un sistema silencioso, los "
-"eventos fuera del programa aÃaden ruido a los resultados del tiempo. Haga la "
-"media sobre mÃltiples ejecuciones. Si el cÃdigo es muy pequeÃo la resoluciÃn "
-"del tiempo tambiÃn es un problema. En este caso mida el tiempo que el equipo "
-"tarda en ejecutar el cÃdigo 100 o 1000 veces. Si los tiempos que està "
-"obteniendo son algo superiores a unos pocos segundos todo deberÃa estar "
-"correcto."
-
-#: 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 muy fÃcil perderse con el perfilador. Existen historias de programadores "
-"optimizando el bucle de inactividad porque es donde se perdÃa todo su "
-"tiempo. No optimice cÃdigo del que el usuario no se preocupe."
-
-#: 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 ""
-"Recuerde los resultados del servidor X. El uso de memoria de su programa no "
-"incluye los pixmaps almacenados en los procesos del servidor X, pero aÃn "
-"siguen usando memoria. Use xrestop para ver los recursos que està usando su "
-"programa."
-
-#: C/optimization-intro.xml:104(title)
-msgid "Low Level Hints"
-msgstr "Consejos de bajo nivel"
-
-#: 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 ""
-"Al optimizar el uso de memoria considere la diferencia entre el uso de pico "
-"y el uso medio de memoria. Alguna memoria siempre està reservada, esto "
-"generalmente es malo. Alguna està temporalmente reservada, esto puede ser "
-"aceptable. Herramientas como massif usan el concepto de espacio-tiempo, el "
-"producto de la memoria usada y el tiempo durante el que estuvo reservada."
-
-#: 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 ""
-"Controle el tiempo de trozos de cÃdigo simplificados que sÃlo hacen cosas "
-"esenciales, esto proporciona un lÃmite absoluto inferior en el tiempo que "
-"usarà el cÃdigo. Por ejemplo, al optimizar un bucle, controle el tiempo del "
-"bucle vacÃo. Si aÃn es mucho tiempo cualquier intento de optimizaciÃn no "
-"ayudarà y deberà cambiar su diseÃo. AsegÃrese de que el compilador no "
-"desoptimiza el bucle vacÃo."
-
-#: 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 ""
-"Mueva el cÃdigo fuera de los bucles internos. Un trozo de cÃdigo mÃs "
-"complicado que se ejecuta una sola vez es mucho mÃs rÃpido que un trozo de "
-"cÃdigo mÃs simple que se ejecuta mil veces. Evite llamar habitualmente a "
-"cÃdigo lento."
-
-#: 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 ""
-"Proporcione al compilador tantos sugerencias como le sea posible. Use la "
-"palabra clave ÂconstÂ. Use <envar>G_INLINE_FUNC</envar> para funciones "
-"cortas frecuentemente llamadas. Busque <envar>G_GNUC_PURE</envar>, "
-"<envar>G_LIKELY</envar> y otras macros miscelÃneas de glib. Use las macros "
-"en lugar de palabras clave especÃficas de gcc para asegurar la portabilidad."
-
-#: 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 ""
-"No use lenguajes de ensamblado. El cÃdigo no es portable y puede ser mÃs "
-"rÃpido en un procesador que en otro, ademÃs no està garantizado que sea "
-"rÃpido en cada procesador que soporta esa arquitectura (ej. Athlon contra "
-"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 ""
-"No reescriba una rutina existente de una biblioteca a no ser que està seguro "
-"de que es demasiado lenta. Muchas rutinas de bibliotecas de uso intensivo "
-"por la CPU ya se han optimizado. Algunas rutinas de bibliotecas son lentas, "
-"especialmente aquellas que realizan llamadas al sistema operativo."
-
-#: 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 ""
-"Minimice el nÃmero de bibliotecas a las que enlaza. Cuanto menor sea el "
-"nÃmero de bibliotecas que enlazar, mÃs rÃpido se iniciarà el programa. Es "
-"una tarea difÃcil en GNOME."
-
-#: C/optimization-intro.xml:142(title)
-msgid "High Level Tricks"
-msgstr "Trucos de alto nivel"
-
-#: 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 ""
-"La ventaja de la concurrencia. Esto no significa simplemente usar varios "
-"procesadores, tambiÃn significa aprovecharse del tiempo que el usuario pasa "
-"pensando en quà harÃn despuÃs, para realizar algunos cÃlculos anticipados. "
-"Haga cÃlculos mientras se espera la carga de datos desde el disco. "
-"AprovÃchese de los recursos mÃltiples, Ãselos todos a la vez."
-
-#: 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 ""
-"EngaÃe. El usuario sÃlo tiene que pensar que el equipo es rÃpido, no importa "
-"si realmente lo es o no. Es el tiempo entre el comando y la respuesta es lo "
-"que importa, no importa si la respuesta estaba precalculada, cacheada o se "
-"trabajarà en ella en cualquier momento posterior conveniente, siempre que el "
-"usuario obtenga lo que espera."
-
-#: 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 ""
-"Realice trabajo en el bucle de inactividad. Es mÃs fÃcil de programar que "
-"usar programaciÃn completa para multihilo pero aÃn asà las cosas se hacen "
-"fuera de la vista del usuario. No obstante, sea cuidadoso, si se queda "
-"demasiado tiempo en el bucle de inactividad su programa acabarà siendo "
-"lento. Por eso debe devolver regularmente el control al bucle principal."
-
-#: C/optimization-intro.xml:159(para)
-msgid ""
-"If all else fails, tell the user that the code is going to be slow and put "
-"up a progress bar. They won't be as happy as if you had just presented the "
-"results, but they will at least know the program hasn't crashed and they can "
-"go get a cup of coffee."
-msgstr ""
-"Si todo lo demÃs falla, dÃgale al usuario que el cÃdigo va a ser lento y "
-"ponga una barra de progreso. No estarÃn tan contentos como si hubiese "
-"mostrado el resultado pero al menos sabrÃn que el programa no se ha colgado "
-"y que se pueden ir a preparar un cafÃ."
-
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/optimization-massif.xml:52(None)
-msgid ""
-"@@image: 'figures/massif-before.png'; md5=1a6b2ace548e6789ab8bfacb3727b345"
-msgstr ""
-"@@image: 'figures/massif-before.png'; md5=1a6b2ace548e6789ab8bfacb3727b345"
-
-#. When image changes, this message will be marked fuzzy or untranslated for you.
-#. It doesn't matter what you translate it to: it's not used at all.
-#: C/optimization-massif.xml:114(None)
-msgid ""
-"@@image: 'figures/massif-after.png'; md5=36d1b4ad7ab49b28b69ad3eabbaa7069"
-msgstr ""
-"@@image: 'figures/massif-after.png'; md5=36d1b4ad7ab49b28b69ad3eabbaa7069"
-
-#: C/optimization-massif.xml:3(title)
-msgid ""
-"Using <application>Massif</application> for Profiling Memory Use in GNOME "
-"Software"
+"Using <application>Massif</application> for Profiling Memory Use in GNOME "
+"Software"
 msgstr ""
 "Usar <application>Massif</application> para el Perfilado del uso de memoria "
 "en software de GNOME"
 
-#: 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 "
@@ -479,11 +257,11 @@ msgstr ""
 "interpretar y actuar sobre la salida de <application>Massif</application>. "
 "Se usa el juego <application>Swell Foop</application> como ejemplo."
 
-#: C/optimization-massif.xml:10(title)
+#: C/optimization-massif.xml:10(sect1/title)
 msgid "Introduction"
 msgstr "IntroducciÃn"
 
-#: 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 "
@@ -497,7 +275,7 @@ msgstr ""
 "uso de memoria dinÃmica durante la vida de un programa. EspecÃficamente "
 "graba el uso de memoria del Âheap y de la pila."
 
-#: 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 "
@@ -519,7 +297,7 @@ msgstr ""
 "parte del montÃculo. <application>Massif</application> tambiÃn proporciona "
 "informaciÃn acerca de cuÃnta memoria se usa para gestionar el montÃculo."
 
-#: 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."
@@ -527,11 +305,11 @@ msgstr ""
 "<application>Massif</application> produce dos archivos de salida: una vista "
 "general grÃfica en un archivo postscript y un archivo de texto detallado."
 
-#: C/optimization-massif.xml:22(title)
+#: C/optimization-massif.xml:22(sect1/title)
 msgid "Using <application>Massif</application> with GNOME"
 msgstr "Usar <application>Massif</application> con GNOME"
 
-#: 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 "
@@ -555,7 +333,7 @@ msgstr ""
 "convierte en insoportable, es mejor comenzar con un parÃmetro de profundidad "
 "pequeÃo e ir aumentÃndolo cuando parezca que es insuficiente."
 
-#: 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 "
@@ -571,11 +349,11 @@ msgstr ""
 "son g_malloc, g_malloc0, g_realloc, g_try_malloc, y g_mem_chunk_alloc. Use "
 "la opciÃn Â--alloc-fn para pasarle la opciÃn a Massif."
 
-#: C/optimization-massif.xml:29(para)
+#: C/optimization-massif.xml:29(sect1/para)
 msgid "Your command-line should therefore look something like:"
 msgstr "Su lÃnea de comando deberÃa parecerse a esta:"
 
-#: C/optimization-massif.xml:32(programlisting)
+#: C/optimization-massif.xml:32(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -588,7 +366,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 "
@@ -598,11 +376,11 @@ msgstr ""
 "ejemplo. Tenga en cuenta que, ya que valgrind emula la CPU, se ejecutarà "
 "<emphasis>muy</emphasis> despacio. TambiÃn necesitarà mucha memoria."
 
-#: C/optimization-massif.xml:41(title)
+#: C/optimization-massif.xml:41(sect1/title)
 msgid "Interpreting the Results"
 msgstr "Interpretar los resultados"
 
-#: 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 "
@@ -616,7 +394,7 @@ msgstr ""
 "generalmente las anchas en la parte superior, tendrà que consultar el "
 "archivo de texto para ver los detalles."
 
-#: 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 "
@@ -630,7 +408,7 @@ msgstr ""
 "mostrando los resultados en detalle segÃn se procede en la pila de llamadas. "
 "Para ilustrar esto se usarà la salida del comando anterior."
 
-#: 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."
@@ -638,7 +416,7 @@ msgstr ""
 "La salida de <application>Massif</application> para la versiÃn no optimizada "
 "del programa <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 "
@@ -664,7 +442,7 @@ msgstr ""
 "segundo proceso y <application>Massif</application> tambiÃn lo sigue. Se "
 "ignorarà el segundo proceso ya que consume muy poca memoria."
 
-#: 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 "
@@ -677,7 +455,7 @@ msgstr ""
 "a gdk_pixbuf_new. La parte superior del archivo de texto mostrarà algo como "
 "lo siguiente:"
 
-#: C/optimization-massif.xml:62(programlisting)
+#: C/optimization-massif.xml:62(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -712,7 +490,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 "
@@ -731,7 +509,7 @@ msgstr ""
 "espacio-tiempo se dedica a gdk_pixbuf_new. Para buscar quà llamà a "
 "gdk_pixbuf_new necesitamos buscar mÃs abajo en el archivo de texto:"
 
-#: C/optimization-massif.xml:80(programlisting)
+#: C/optimization-massif.xml:80(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -766,7 +544,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. "
@@ -785,7 +563,7 @@ msgstr ""
 "application>. Desde esta lista se puede ver instantÃneamente que el problema "
 "del cÃdigo es Âload_scenarioÂ."
 
-#: 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 "
@@ -797,11 +575,11 @@ msgstr ""
 "un archivo y nunca libera esa memoria. Habiendo identificado el cÃdigo del "
 "problema se puede comenzar a arreglarlo."
 
-#: C/optimization-massif.xml:103(title)
+#: C/optimization-massif.xml:103(sect1/title)
 msgid "Acting on the Results"
 msgstr "Actuar sobre los resultados"
 
-#: 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 "
@@ -828,7 +606,7 @@ msgstr ""
 "pero sÃlo siempre que sus periodos de mÃximo uso de memoria no se solapen. "
 "Por ello es mejor reducir la cantidad de memoria reservada."
 
-#: 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</"
@@ -849,7 +627,7 @@ msgstr ""
 "<application>Swell Foop</application> despuÃs de alterar la disposiciÃn de "
 "los pixbuf una vez que se han cargado las imÃgenes en el servidor X."
 
-#: 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."
@@ -857,7 +635,7 @@ msgstr ""
 "La salida de <application>Massif</application> para el programa optimizado "
 "<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, "
@@ -874,7 +652,7 @@ msgstr ""
 "de memoria coincidiesen, y por ello el riesgo de usar la memoria de "
 "intercambio, serÃan bastante escasas."
 
-#: 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."
@@ -883,7 +661,7 @@ msgstr ""
 "<application>Massif</application> releva que g_strdup es el nuevo mayor "
 "problema."
 
-#: C/optimization-massif.xml:124(programlisting)
+#: C/optimization-massif.xml:124(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -918,13 +696,13 @@ 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 ""
 "Si se mira con detenimiento se ve que se llama desde muchos, muchos sitios."
 
-#: C/optimization-massif.xml:142(programlisting)
+#: C/optimization-massif.xml:142(sect1/programlisting)
 #, no-wrap
 msgid ""
 "\n"
@@ -961,7 +739,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\" "
@@ -978,11 +756,11 @@ msgstr ""
 "individuales pueden ser mÃs grandes y la elevada banda Âheap admin puede "
 "reducirse."
 
-#: C/optimization-massif.xml:163(title)
+#: C/optimization-massif.xml:163(sect1/title)
 msgid "Caveats"
 msgstr "Advertencias"
 
-#: 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 "
@@ -995,7 +773,7 @@ msgstr ""
 "cantidad total de memoria. El grÃfico, con su eje vertical de kilobytes, es "
 "bueno para ello."
 
-#: 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 "
@@ -1024,198 +802,452 @@ msgstr ""
 "recursos X use el programa <ulink type=\"http\" url=\"http://www.freedesktop.";
 "org/Software/xrestop\">xrestop</ulink>."
 
-#: C/optimization-harmful.xml:3(title)
-msgid "Disk Seeks Considered Harmful"
-msgstr "BÃsquedas de disco consideradas daÃinas"
+#: C/optimization-intro.xml:3(chapter/title)
+msgid "The Quick Guide to Optimizing GNOME Programs"
+msgstr "GuÃa rÃpida para optimizar programas de GNOME"
 
-#: 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 ""
-"Las bÃsquedas de disco son una de las operaciones mÃs caras que puede "
-"realizar. Puede que no sepa esto simplemente mirando cuÃntas se realizan, "
-"pero crea que realmente lo son. Por ello, evite los siguientes "
-"comportamientos:"
-
-#: C/optimization-harmful.xml:10(para)
-msgid "Placing lots of small files all over the disk."
-msgstr "Ubicar montones de pequeÃos archivos por todo el disco."
+"Esta es una breve introducciÃn a la optimizaciÃn, de los cÃmos tanto de los "
+"porquÃs. Se dejan para posteriores artÃculos los detalles de herramientas y "
+"tÃcnicas individuales pero se proporciona una colecciÃn de sugerencias y "
+"trucos."
 
-#: C/optimization-harmful.xml:15(para)
-msgid "Opening, stating, and reading lots of files all over the disk"
-msgstr "Abrir, iniciar y leer montones de archivos por todo el disco."
+#: C/optimization-intro.xml:10(sect1/title)
+msgid "What are we Optimizing?"
+msgstr "ÂQuà se està optimizando?"
 
-#: 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 ""
-"Realizar lo anterior sobre archivos que se abren en diferentes momentos, "
-"para asegurarse de que estÃn fragmentados y causan aÃn mÃs bÃsqueda del "
-"disco."
+"Al optimizar GNOME lo primero que hay que recordar es esto: no se està "
+"intentando mejorar el programa, se està intentando hacer que las personas "
+"usen el equipo mÃs felices."
 
-#: 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 ""
-"Realizar lo siguiente sobre archivos que estÃn en diferentes carpetas, para "
-"asegurarse de que estÃn en grupos de cilindros diferentes y pueden causar "
-"incluso mÃs bÃsqueda."
+"Programas mejores hacen a la gente mÃs feliz pero existen algunas mejoras "
+"que los harÃn mÃs felices que otras: tiempo de respuesta, tiempo de inicio, "
+"facilidad para acceder a comandos y que el equipo no tenga que usar la "
+"memoria de intercambio cuando mÃs de dos programas estÃn abiertos."
 
-#: C/optimization-harmful.xml:30(para)
-msgid "Repeatedly doing the above when it only needs to be done once."
+#: 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 ""
-"Realizar repetidamente lo anterior cuando sÃlo se necesita realizar una vez."
-
-#: C/optimization-harmful.xml:35(para)
-msgid "Ways in which you can optimize your code to be seek-friendly:"
+"La optimizaciÃn tradicional contempla conceptos como el uso de CPI, el "
+"tamaÃo del cÃdigo, el nÃmero de pulsaciones del ratÃn y el uso de memoria de "
+"programa. Se ha elegido esta segunda lista para correlar con la primera, no "
+"obstante existe una diferencia importante. A la persona que usa GNOME no le "
+"importa la segunda lista, pero sà la primera. Al optimizar los programas de "
+"GNOME se reducirà el uso de CPU, el uso de memoria y todo aquello, pero son "
+"conceptos para el fin, no el objetivo final. Se optimiza para las personas."
+
+#: C/optimization-intro.xml:23(sect1/title)
+msgid "Doing the Optimization"
+msgstr "Realizar la optimizaciÃn"
+
+#: 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 ""
-"Formas en las que puede optimizar su cÃdigo para que sea amigable a la hora "
-"de hacer bÃsquedas:"
+"En la secciÃn anterior se omitià un calificador importante: optimizar algo "
+"debe ser medible. No se puede medir la felicidad. No obstante se puede medir "
+"el tiempo de inicio de un programa para saber si se ha mejorado. La "
+"felicidad del usuario aumentarà pues."
 
-#: C/optimization-harmful.xml:40(para)
-msgid "Consolidate data into a single file."
-msgstr "Consolidar los datos en un solo archivo."
+#: 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 ""
+"La optimizaciÃn es el proceso de medida, refinamiento y remedida. Lo primero "
+"que debe hacer es encontrar una forma de medir lo que està optimizando. "
+"Idealmente la medida es un simple nÃmero, por ejemplo: el tiempo que se "
+"tarda en realizar una tarea. Esta es su prueba, es la Ãnica forma de saber "
+"si està ganando o perdiendo. Existe una gran diferencia entre un programa "
+"que <emphasis>deberÃa</emphasis> ser rÃpido y un programa que <emphasis>es</"
+"emphasis> rÃpido."
 
-#: C/optimization-harmful.xml:45(para)
-msgid "Keep data together in the same directory."
-msgstr "Mantener los datos juntos en la mismo carpeta."
+#: 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 ""
+"Una vez que tiene una prueba de rendimiento bÃsica debe encontrar por quà su "
+"cÃdigo no lo està haciendo tan bien como deberÃa. Es tentador hacerlo "
+"inspeccionando: simplemente mirar el cÃdigo y tratar de encontrar algo que "
+"parece que necesita una mejora. Estarà perdiendo el tiempo, Usar un "
+"perfilador para obtener una lista detallada de lo que su programa està "
+"haciendo es, realmente, la Ãnica forma de estar seguro."
 
-#: C/optimization-harmful.xml:50(para)
-msgid "Cache data so as to not need to reread constantly."
-msgstr "Cachear los datos para no tener que volver a leerlos constantemente."
+#: 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 ""
+"Generalmente el problema està aislado en pequeÃas partes del cÃdigo. Elija "
+"la peor parte y concÃntrese en ella primero. Una vez que lo haya hecho, "
+"vuelva al perfilador y repita el proceso. SegÃn proceda, las mejoras "
+"obtenidas en cada paso se harÃn cada vez mÃs pequeÃas, en algÃn punto tendrà "
+"que decidir que los resultados son suficientes. Si sus esfuerzos sÃlo estÃn "
+"obteniendo un 10% de mejoras entonces hace tiempo que pasà el punto en el "
+"que deberÃa haber parado."
 
-#: C/optimization-harmful.xml:55(para)
+#: C/optimization-intro.xml:36(sect1/para)
 msgid ""
-"Share data so as not to have to reread it from disk when each application "
-"loads."
+"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 ""
-"Compartir los datos para no tener que volver a leerlos del disco cada vez "
-"que una aplicaciÃn se carga."
+"No se olvide del objetivo final. Por ejemplo, en lugar de intentar mejorar "
+"un trozo de cÃdigo, pregÃntese si realmente se necesita ejecutar ese cÃdigo. "
+"ÂSe podrÃa combinar con otro trozo de cÃdigo? ÂSe pueden guardar y reusar "
+"cÃlculos previos? No necesitarà optimizarse si està en un lugar donde el "
+"usuario no lo va a notar. O aÃn peor, el cÃdigo puede ya estar optimizado y "
+"està haciendo cÃlculos pesados ahora para evitar hacerlos luego. El cÃdigo "
+"no se ejecuta aisladamente ni tampoco lo hace el proceso de optimizaciÃn."
+
+#: C/optimization-intro.xml:41(sect1/title)
+msgid "Hints"
+msgstr "Sugerencias"
+
+#: C/optimization-intro.xml:43(itemizedlist/title)
+msgid "The Fundamentals"
+msgstr "Lo fundamental"
 
-#: C/optimization-harmful.xml:60(para)
+#: C/optimization-intro.xml:45(listitem/para)
 msgid ""
-"Consider caching all of the data in a single binary file that is properly "
-"aligned and can be mmaped."
+"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 ""
-"Considerar cachear todos los datos en un archivo binario Ãnico que està "
-"alineado apropiadamente y se puede mapear."
+"Vuelva a ejecutar su prueba de rendimiento despuÃs de cada cambio que "
+"realice sobre el cÃdigo y mantenga un registro de todo lo que cambia y de "
+"cÃmo afecta al rendimiento. Esto le permite deshacer errores y tambiÃn le "
+"ayuda a no repetirlos."
 
-#: C/optimization-harmful.xml:65(para)
+#: C/optimization-intro.xml:50(listitem/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."
+"Make sure your code is correct and bug-free before optimizing it. Check that "
+"it remains correct and bug-free after optimization."
 msgstr ""
-"El problema de las bÃsquedas en los discos se complica para las lecturas, "
-"que es desafortunadamente lo que se busca. Recuerde, las lecturas son "
-"generalmente sÃncronas mientras que las escrituras son asÃncronas. Esto sÃlo "
-"complica el problema, serializando cada lectura y contribuyendo a la "
-"latencia del programa."
+"AsegÃrese de que su cÃdigo es correcto y està libre de errores antes de "
+"optimizarlo. Compruebe que permanece correcto y libre de errores despuÃs de "
+"haberlo optimizado."
 
-#: C/optimization-guide.xml:5(title)
-msgid "Optimizing GNOME Software"
-msgstr "Optimizar software de GNOME"
+#: C/optimization-intro.xml:55(listitem/para)
+msgid "Optimize at the high level before optimizing the details."
+msgstr "Optimizar al nivel mÃs alto antes de optimizar los detalles."
 
-#: C/optimization-guide.xml:8(publishername) C/optimization-guide.xml:56(para)
-msgid "GNOME Documentation Project"
-msgstr "Proyecto de documentaciÃn de GNOME"
+#: 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 ""
+"Usar el algoritmo correcto. El clÃsico ejemplo de libro de texto es usar "
+"ordenaciÃn rÃpida en lugar de ordenaciÃn de burbuja. Existen muchos otros, "
+"algunos ahorran memoria, algunos ahorran CPU. TambiÃn debe ver quà atajos de "
+"teclado puede crear: puede hacerlo mÃs rÃpido que una ordenaciÃn rÃpida si "
+"està preparado para tomar ciertos compromisos."
+
+#: 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 ""
+"La optimizaciÃn es intercambio. Obtener resultados mejora los cÃlculos pero "
+"aumenta la memoria en uso. Guardar datos al disco ahorra memoria pero cuesta "
+"tiempo al cargarlos de nuevo desde el disco."
+
+#: 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 ""
+"AsegÃrese de elegir cierta variedad de entradas que optimizar. Si no lo hace "
+"es fÃcil que termine con un trozo de cÃdigo cuidadosamente optimizado para "
+"un campo y no para otros."
+
+#: 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 ""
+"Evite las operaciones caras: mÃltiples lecturas de disco pequeÃas. Use un "
+"montÃn de memoria para que el Ãrea de intercambio (ÂswapÂ) se haga "
+"innecesario. Evite cualquier cosa que escriba o lea innecesariamente del "
+"disco. La red tambiÃn es lenta. Evite tambiÃn operaciones grÃficas que "
+"necesitan una respuesta del servidor X."
+
+#: C/optimization-intro.xml:81(itemizedlist/title)
+msgid "Traps for the Unwary"
+msgstr "Trampas para los imprudentes"
+
+#: 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 ""
+"Està atento a efectos laterales. Generalmente son interacciones extraÃas "
+"entre diferentes secciones del cÃdigo, una extensiÃn de una parte puede "
+"retardar otra."
+
+#: 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 ""
+"Al cronometrar el tiempo del cÃdigo, incluso en un sistema silencioso, los "
+"eventos fuera del programa aÃaden ruido a los resultados del tiempo. Haga la "
+"media sobre mÃltiples ejecuciones. Si el cÃdigo es muy pequeÃo la resoluciÃn "
+"del tiempo tambiÃn es un problema. En este caso mida el tiempo que el equipo "
+"tarda en ejecutar el cÃdigo 100 o 1000 veces. Si los tiempos que està "
+"obteniendo son algo superiores a unos pocos segundos todo deberÃa estar "
+"correcto."
 
-#: C/optimization-guide.xml:11(year) C/optimization-guide.xml:15(year)
-msgid "2004-2005"
-msgstr "2004-2005"
+#: 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 muy fÃcil perderse con el perfilador. Existen historias de programadores "
+"optimizando el bucle de inactividad porque es donde se perdÃa todo su "
+"tiempo. No optimice cÃdigo del que el usuario no se preocupe."
 
-#: C/optimization-guide.xml:12(holder)
-msgid "Callum McKenzie"
-msgstr "Callum McKenzie"
+#: 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 ""
+"Recuerde los resultados del servidor X. El uso de memoria de su programa no "
+"incluye los pixmaps almacenados en los procesos del servidor X, pero aÃn "
+"siguen usando memoria. Use xrestop para ver los recursos que està usando su "
+"programa."
 
-#: C/optimization-guide.xml:16(holder)
-msgid "Robert Love"
-msgstr "Robert Love"
+#: C/optimization-intro.xml:104(itemizedlist/title)
+msgid "Low Level Hints"
+msgstr "Consejos de bajo nivel"
 
-#: C/optimization-guide.xml:20(firstname)
-msgid "Callum"
-msgstr "Callum"
+#: 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 ""
+"Al optimizar el uso de memoria considere la diferencia entre el uso de pico "
+"y el uso medio de memoria. Alguna memoria siempre està reservada, esto "
+"generalmente es malo. Alguna està temporalmente reservada, esto puede ser "
+"aceptable. Herramientas como massif usan el concepto de espacio-tiempo, el "
+"producto de la memoria usada y el tiempo durante el que estuvo reservada."
 
-#: C/optimization-guide.xml:21(surname)
-msgid "McKenzie"
-msgstr "McKenzie"
+#: 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 ""
+"Controle el tiempo de trozos de cÃdigo simplificados que sÃlo hacen cosas "
+"esenciales, esto proporciona un lÃmite absoluto inferior en el tiempo que "
+"usarà el cÃdigo. Por ejemplo, al optimizar un bucle, controle el tiempo del "
+"bucle vacÃo. Si aÃn es mucho tiempo cualquier intento de optimizaciÃn no "
+"ayudarà y deberà cambiar su diseÃo. AsegÃrese de que el compilador no "
+"desoptimiza el bucle vacÃo."
 
-#: C/optimization-guide.xml:24(firstname)
-msgid "Robert"
-msgstr "Robert"
+#: 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 ""
+"Mueva el cÃdigo fuera de los bucles internos. Un trozo de cÃdigo mÃs "
+"complicado que se ejecuta una sola vez es mucho mÃs rÃpido que un trozo de "
+"cÃdigo mÃs simple que se ejecuta mil veces. Evite llamar habitualmente a "
+"cÃdigo lento."
 
-#: C/optimization-guide.xml:25(surname)
-msgid "Love"
-msgstr "Love"
+#: 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 ""
+"Proporcione al compilador tantos sugerencias como le sea posible. Use la "
+"palabra clave ÂconstÂ. Use <envar>G_INLINE_FUNC</envar> para funciones cortas "
+"frecuentemente llamadas. Busque <envar>G_GNUC_PURE</envar>, <envar>G_LIKELY</"
+"envar> y otras macros miscelÃneas de glib. Use las macros en lugar de "
+"palabras clave especÃficas de gcc para asegurar la portabilidad."
 
-#: C/optimization-guide.xml:29(para)
+#: C/optimization-intro.xml:126(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."
+"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 ""
-"Se otorga permiso para copiar, distribuir y/o modificar este documento bajo "
-"los tÃrminos de la <citetitle>Licencia de DocumentaciÃn Libre de GNU</"
-"citetitle>, VersiÃn 1.1 o cualquier otra versiÃn posterior publicada por la "
-"Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta "
-"Delantera ni Textos de Cubierta Trasera. Puede encontrar una copia de la "
-"licencia <citetitle>Licencia de DocumentaciÃn Libre de GNU</citetitle> de la "
-"Free Software Foundation visitando <ulink type=\"http\" url=\"http://www.fsf.";
-"org\">su pÃgina web</ulink> o escribiendo a: Free Software Foundation, Inc., "
-"59 Temple Place - Suite 330, Boston, MA 02111-1307, EE. UU."
+"No use lenguajes de ensamblado. El cÃdigo no es portable y puede ser mÃs "
+"rÃpido en un procesador que en otro, ademÃs no està garantizado que sea "
+"rÃpido en cada procesador que soporta esa arquitectura (ej. Athlon contra "
+"Pentium 4)."
 
-#: C/optimization-guide.xml:41(para)
+#: C/optimization-intro.xml:131(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."
+"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 ""
-"Muchos de los nombres usados por compaÃÃas para distinguir sus productos y "
-"servicios se mencionan como marcas comerciales. Donde aparezcan dichos "
-"nombres en cualquier documentaciÃn GNOME, y para que los miembros del "
-"proyecto de documentaciÃn las reconozcan dichas marcas comerciales, dichos "
-"nombres se imprimen en mayÃsculas o iniciales mayÃsculas."
+"No reescriba una rutina existente de una biblioteca a no ser que està seguro "
+"de que es demasiado lenta. Muchas rutinas de bibliotecas de uso intensivo "
+"por la CPU ya se han optimizado. Algunas rutinas de bibliotecas son lentas, "
+"especialmente aquellas que realizan llamadas al sistema operativo."
 
-#: C/optimization-guide.xml:52(revnumber)
-msgid "0.1"
-msgstr "0.1"
+#: 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 ""
+"Minimice el nÃmero de bibliotecas a las que enlaza. Cuanto menor sea el "
+"nÃmero de bibliotecas que enlazar, mÃs rÃpido se iniciarà el programa. Es "
+"una tarea difÃcil en GNOME."
 
-#: C/optimization-guide.xml:53(date)
-msgid "November 2007"
-msgstr "Noviembre de 2007"
+#: C/optimization-intro.xml:142(itemizedlist/title)
+msgid "High Level Tricks"
+msgstr "Trucos de alto nivel"
 
-#: C/optimization-guide.xml:55(para)
-msgid "William Johnston"
-msgstr "William Johnston"
+#: 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 ""
+"La ventaja de la concurrencia. Esto no significa simplemente usar varios "
+"procesadores, tambiÃn significa aprovecharse del tiempo que el usuario pasa "
+"pensando en quà harÃn despuÃs, para realizar algunos cÃlculos anticipados. "
+"Haga cÃlculos mientras se espera la carga de datos desde el disco. "
+"AprovÃchese de los recursos mÃltiples, Ãselos todos a la vez."
 
-#: C/optimization-guide.xml:57(para)
-msgid "Intial conversion to docbook format."
-msgstr "ConversiÃn inicial al formato docbook."
+#: 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 ""
+"EngaÃe. El usuario sÃlo tiene que pensar que el equipo es rÃpido, no importa "
+"si realmente lo es o no. Es el tiempo entre el comando y la respuesta es lo "
+"que importa, no importa si la respuesta estaba precalculada, cacheada o se "
+"trabajarà en ella en cualquier momento posterior conveniente, siempre que el "
+"usuario obtenga lo que espera."
 
-#: C/optimization-guide.xml:63(para)
+#: C/optimization-intro.xml:154(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."
+"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 ""
-"El software se puede optimizar de muchas formas: para mayor velocidad, "
-"tamaÃo del programa o uso de memoria. Esta secciÃn contiene guÃas y "
-"tutoriales para optimizar su software."
+"Realice trabajo en el bucle de inactividad. Es mÃs fÃcil de programar que "
+"usar programaciÃn completa para multihilo pero aÃn asà las cosas se hacen "
+"fuera de la vista del usuario. No obstante, sea cuidadoso, si se queda "
+"demasiado tiempo en el bucle de inactividad su programa acabarà siendo "
+"lento. Por eso debe devolver regularmente el control al bucle principal."
 
-#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
-#: C/optimization-guide.xml:0(None)
-msgid "translator-credits"
-msgstr "Jorge GonzÃlez <jorgegonz svn gnome org>, 2009-2010"
+#: 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 ""
+"Si todo lo demÃs falla, dÃgale al usuario que el cÃdigo va a ser lento y "
+"ponga una barra de progreso. No estarÃn tan contentos como si hubiese "
+"mostrado el resultado pero al menos sabrÃn que el programa no se ha colgado "
+"y que se pueden ir a preparar un cafÃ."
+
+#~ 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 "Noviembre de 2007"



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