<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mundo Geek &#187; compilador</title>
	<atom:link href="http://mundogeek.net/etiqueta/compilador/feed/" rel="self" type="application/rss+xml" />
	<link>http://mundogeek.net</link>
	<description>Mundo geek, bitácora sobre todo lo geek: software, gadgets, tecnología, internet, ...</description>
	<lastBuildDate>Fri, 25 May 2012 14:51:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>apt-build, optimizando los paquetes para nuestra máquina</title>
		<link>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/</link>
		<comments>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/#comments</comments>
		<pubDate>Sat, 12 May 2007 06:00:19 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[compilador]]></category>
		<category><![CDATA[gcc]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/</guid>
		<description><![CDATA[Una de las características más interesantes de Gentoo es que permite instalar las aplicaciones compiladas de forma optimizada para tu máquina, consiguiendo un mayor rendimiento. Apt-build nos ofrece algo similar en Debian y derivadas (como Ubuntu). Para instalarlo en el sistema: sudo aptitude install apt-build Se nos preguntará por el nivel de optimización que queramos [...]]]></description>
			<content:encoded><![CDATA[<p>Una de las características más interesantes de Gentoo es que permite instalar las aplicaciones compiladas de forma optimizada para tu máquina, consiguiendo un mayor rendimiento.</p>
<p>Apt-build nos ofrece algo similar en Debian y derivadas (como Ubuntu). Para instalarlo en el sistema:</p>
<p class="code">sudo aptitude install apt-build</p>
<p>Se nos preguntará por el nivel de optimización que queramos conseguir; cuanto más trabajo haga el compilador para optimizar la aplicación que instalemos, mejor rendimiento obtendremos con ella, pero evidentemente, más tardaremos en compilar. Recomendado dejarlo en Medio.</p>
<p>También nos preguntará por la arquitectura de nuestro procesador. Si dudais os puede ser de utilidad la sección de <a href="http://gentoo-wiki.com/Safe_Cflags" title="Flag arquitectura compilador gcc">flags seguros de Gentoo-wiki</a>; fijaros en el flag -march. Yo tengo un Intel Core 2 Duo T7200 pero el flag -march=core2 que sería el correspondiente a las arquitecturas Core 2 Duo no está disponible más que a partir de la versión 4.3 de gcc (la de Ubuntu Feisty Fawn es la 4.1.2), así que utilizo Prescott. <span id="more-1077"></span></p>
<p>Antes de empezar a usarlo hay que comprobar que los repositorios con las fuentes de las aplicaciones no estén comentadas en el archivo de fuentes:</p>
<p class="code">sudo gedit /etc/apt/sources.list</p>
<p>y comprobad que para cada uno de los repositorios que nos interesen haya no sólo una línea que comience con deb, si no otra que comience con deb-src y que no haya un símbolo de almohadilla (#) al comienzo de la línea (si ese es el caso, borrad la almohadilla para descomentarlo).</p>
<p>Vereis que durante la instalación de apt-build se ha añadido una nueva fuente a sources.list que será parecido a esto:</p>
<p class="code">deb file:/var/cache/apt-build/repository apt-build main</p>
<p>Esto es porque apt-build funciona haciendo un apt-get source para descargar el código fuente, compilándolo con dpkg-buildpackage y poniendo el paquete resultante en este nuevo repositorio local para que apt-get lo encuentre.</p>
<p>Primero vamos a modificar el archivo /etc/apt/preferences para que los paquetes de este nuevo repositorio local tengan prioridad sobre los del resto de repositorios:</p>
<p class="code">sudo gedit /etc/apt/preferences</p>
<p>y añadimos las líneas:</p>
<p class="code">Package: *<br />
Pin: release o=apt-build<br />
Pin-Priority: 990</p>
<p>Esto especifica que todos los paquetes (*) del release apt-build tienen una prioridad de 990 (apt-get instalará los paquetes de mayor prioridad).</p>
<p>El uso de apt-build es muy similar a apt-get o aptitude; tenemos todos los comandos típicos: update para actualizar la lista de paquetes, upgrade para actualizar los paquetes a las últimas versiones o install para instalar un paquete (en este caso compila, crea un paquete e instala).</p>
<p>Vamos a actualizar primero la lista de los paquetes disponibles:</p>
<p class="code">sudo apt-build update</p>
<p>y ahora instalemos una aplicación cualquiera para comprobar que todo funciona correctamente, por ejemplo vamos a reinstalar gzip:</p>
<p class="code">sudo apt-build install gzip</p>
<p>apt-build descargará las fuentes, compilará e intentará instalar el nuevo paquete, pero como ya está instalado y es la misma versión nos informará de que la versión instalada ya está en su versión más reciente. Si hacemos</p>
<p class="code">sudo apt-build &#8211;reinstall install gzip</p>
<p>para reinstalar el paquete se quejará de que el tamaño de la versión de los repositorios es distinto de la versión de nuestro repositorio local. Si indicamos a apt-get que instale el paquete sin preocuparse por autentificarlo:</p>
<p class="code">sudo apt-get &#8211;reinstall &#8211;allow-unauthenticated install gzip</p>
<p>ahora si, habremos sustituido la versión de gzip original por una optimizada para nuestra máquina.</p>
<p>Una última opción (bastante peligrosa) es world, que compila y reinstala todos los paquetes del sistema para adaptarlos a la máquina en la que se ejecuta. Si quereis más información sobre su uso (que no aconsejo) podeis echarle un vistazo a <a href="http://www.ubuntu-es.org/index.php?q=node/1265" title="Tutorial apt-build">Primera experiencia con apt-build</a> o <a href="http://cronopios.net/Traducciones/apt-build.es.html" title="Manual apt-build, Optimice los paquetes Debian para su sistema">apt-build &#8211; Optimice los paquetes Debian para su sistema</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2007/05/12/apt-build-optimizando-los-paquetes-para-nuestra-maquina/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Firefox Optimizado</title>
		<link>http://mundogeek.net/archivos/2004/04/21/firefox-optimizado/</link>
		<comments>http://mundogeek.net/archivos/2004/04/21/firefox-optimizado/#comments</comments>
		<pubDate>Wed, 21 Apr 2004 23:25:07 +0000</pubDate>
		<dc:creator>Zootropo</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[mozilla firefox]]></category>
		<category><![CDATA[compilador]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[optimizaciones]]></category>
		<category><![CDATA[optimizado]]></category>

		<guid isPermaLink="false">http://zootropo.f2o.org/archivos/2004/04/21/firefox-optimizado/</guid>
		<description><![CDATA[Ya sea compilando nosotros mismos el programa de las fuentes o aprovechando la compilación de otra persona el rendimiento del navegador mejorará por el hecho de haber indicado al compilador que optimice el ejecutable para nuestra plataforma. A la hora de elegir la compilación o de seleccionar que flags le vamos a pasar al compilador [...]]]></description>
			<content:encoded><![CDATA[<p> Ya sea compilando nosotros mismos el programa de las fuentes o aprovechando la compilación de otra persona el rendimiento del navegador mejorará por el hecho de haber indicado al compilador que optimice el ejecutable para nuestra plataforma.</p>
<p>A la hora de elegir la compilación o de seleccionar que flags le vamos a pasar al compilador tenemos estas opciones.</p>
<h2>Procesador:</h2>
<ul>
<li>/G3 y /G4: genera código optimizado para 386 y 486 respectivamente (no tiene efecto real, se mantiene por razones de compatibilidad)</li>
<li>/G5: optimiza el código para los procesadores Pentium</li>
<li>/G6: la opción por defecto; optimiza el código para Intel Pentium Pro, Pentium II y Pentium III.</li>
<li>/G7: optimiza el código para Intel Pentium 4 o AMD Athlon. Si corriéramos un ejecutable compilado con este flag en un PC con un Pentium anterior a Pentium 4 bajaría un poco la velocidad del programa.</li>
</ul>
<h2>Extensiones</h2>
<p>SSE (Streaming SIMD Extensions) y su sucesor SSE2 (Streaming SIMD Extensions 2) son una serie de instrucciones introducidas por Intel totalmente soportadas por los Athlon XP de AMD (los Athlon solo soportan algunas de estas instrucciones, los Athlon XP todas) que nos permitirá mejorar el rendimiento de Firefox si le indicamos que las utilice.</p>
<ul>
<li>Sin SSE: la opción por defecto es no utilizar SSE. Funciona con todos los procesadores.</li>
<li>/arch:SSE: Require un Pentium III o superior o Athlon XP (aunque los Athlon XP lo soporten puede reducir su rendimiento, por lo que sólo es recomendado para Pentium III y superior)</li>
<li>/arch:SSE2: Requiere Pentium 4 o superior , Athlon64, o AthlonFX (al igual que en el caso anterior solo se recomienda para Pentium)</li>
</ul>
<h2>Optimizaciones</h2>
<ul>
<li>/O1: Optimizado para conseguir el menor tamaño de ejecutable en lugar de la velocidad (opción por defecto)</li>
<li>/O2: Optimizado para velocidad</li>
<li>L: Optimización Global</li>
<li>GA: Optimizaciones para el acceso a variables TLS.</li>
</ul>
<p>Las compilaciones oficiales de Mozilla, Firefox y Thunderbird son O1-G6-no SSE para maximizar la compatibilidad; para encontrar compilaciones ajustadas a vuestro procesador podéis visitar los <a href="http://forums.mozillazine.org/viewforum.php?f=23" title="Compilaciones optimizadas de Firefox">foros de MozillaZine</a> en los que también se puede encontrar binarios de Thunderbird o Mozilla. Además se pueden encontrar guías para <a href="http://iterator.besmirched.org/mozilla/mozbuild.html" title="Compilar Firefox con Visual Studio .NET">compilar nuestros propios ejecutables de Firefox usando como compilador el del IDE Visual Studio .NET</a> de Microsoft  o <a href="http://gemal.dk/mozilla/build.html" title="Compilar Firefox con GCC">usando el compilador libre de GNU (gcc)</a>.</p>
<p>En este momento estoy usando un O2-GL-G7 compilado por <a href="http://www.lmhess.com/freebird/">Krueger</a> optimizado para Athlon Thunderbird.</p>
]]></content:encoded>
			<wfw:commentRss>http://mundogeek.net/archivos/2004/04/21/firefox-optimizado/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

