<?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>#include &#60;ebf.h&#62; &#187; Mono</title>
	<atom:link href="http://blogs.aedsol.com/ebf/category/mono/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.aedsol.com/ebf</link>
	<description>Idéias, divagações, e baboseiras. By Eduardo Fonseca.</description>
	<lastBuildDate>Sun, 24 May 2009 21:23:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>A magia do código nativo</title>
		<link>http://blogs.aedsol.com/ebf/2007/02/06/a-magia-do-codigo-nativo/</link>
		<comments>http://blogs.aedsol.com/ebf/2007/02/06/a-magia-do-codigo-nativo/#comments</comments>
		<pubDate>Tue, 06 Feb 2007 13:13:25 +0000</pubDate>
		<dc:creator>Eduardo</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[O outro lado]]></category>
		<category><![CDATA[Pessoal]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Tecnologia]]></category>
		<category><![CDATA[aedsol.com]]></category>

		<guid isPermaLink="false">http://blogs.aedsol.com/ebf/2007/02/06/a-magia-do-codigo-nativo/</guid>
		<description><![CDATA[Eu amo o que eu faço. Sério. Sério. Muita gente que me conhece sabe que eu reclamo muito, mas eu fico pensando&#8230; Acho que se eu fosse um advogado nunca iria ter o prazer de ver um código em Python &#8230; <a href="http://blogs.aedsol.com/ebf/2007/02/06/a-magia-do-codigo-nativo/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Eu amo o que eu faço. Sério. <span style="font-weight: bold; font-style: italic;">Sério.</span> Muita gente que me conhece sabe que eu reclamo muito, mas eu fico pensando&#8230; Acho que se eu fosse um advogado nunca iria ter o prazer de ver um código em Python ter um aumento de 750% de performance, só por reescrever uma função sort em C  .</p>
<p>Sério.</p>
<p>Estamos implementando os novos relatórios na nova Intranet do Maximus. Eles vão ser gerados em HTML (como antes, mas com um tema único agora) e em <span style="font-weight: bold;">PDF</span>. Pois é. Tem cliente perguntando se eu to usando o OpenOffice.org e exportando o PDF por de trás de tudo&#8230; hehehe&#8230; <img src='http://blogs.aedsol.com/ebf/smilies/yahoo_smiley.gif' alt='&#58;&#41;' class='wp-smiley' width='18' height='18' title='&#58;&#41;' /></p>
<p>De volta ao assunto, estou pegando informações de várias tabelas diferentes, formatando tudo num dicionário e usando o sort do Python para organizar tudo em sequência. O sort do Python é ótimo, mas a performance vai degradando de acordo com o aumento das informações&#8230; ou seja, O(2^n). Refiz um sort antigo que já uso no Maximus Server em C   e com a ajuda do grande <a href="http://www.swig.org">SWIG</a> fiz um módulo Python rapidinho. Pronto! 750% de aumento de performance. Graças a um ajuste no gerenciamento da memória&#8230; quem sabe um dia chego no O(1)&#8230; Mas o O(n) já está muito bom.</p>
<p>Ultimamente estou brincando muito com <a href="http://www.xulplanet.org">XUL</a> e <a href="http://www.mozilla.org">XPCOM</a>. É estranho desenvolver uma aplicação <span style="font-weight: bold;">nativa</span> em XML/Javascript. Mas fica muito bom. E o XPCOM deixa eu fazer o que quiser, nativamente, com velocidade plena. Posso brincar com as classes maravilhosas do Boost ou do wxWidgets, enquanto monto a lógica da minha aplicação em JavaScript e a internacionalização em DTDs&#8230; caramba!!! </p>
<p>Por melhor que seja a linguagem ou o ambiente que você trabalha (.Net, Java, Python, Perl, Lua, o que for&#8230;), se você quer performance, vá pro código nativo. É difícil, mas vale a pena. Pena que no nosso país a grande maioria dos &#8220;desenvolvedores&#8221; só sabem brincar com Delphi e Visual Basic (e seus amigos)&#8230;.</p>
<p>Até!</p>
<p>Eduardo.</p>
<p>Technorati Tags: <a class="performancingtags" href="http://technorati.com/tag/aedsol" rel="tag">aedsol</a>, <a class="performancingtags" href="http://technorati.com/tag/maximus" rel="tag">maximus</a>, <a class="performancingtags" href="http://technorati.com/tag/nativo" rel="tag">nativo</a>, <a class="performancingtags" href="http://technorati.com/tag/c  " rel="tag">c  </a>, <a class="performancingtags" href="http://technorati.com/tag/python" rel="tag">python</a>, <a class="performancingtags" href="http://technorati.com/tag/maximus" rel="tag">maximus</a>, <a class="performancingtags" href="http://technorati.com/tag/swig" rel="tag">swig</a>, <a class="performancingtags" href="http://technorati.com/tag/xul" rel="tag">xul</a>, <a class="performancingtags" href="http://technorati.com/tag/xpcom" rel="tag">xpcom</a>, <a class="performancingtags" href="http://technorati.com/tag/delphi" rel="tag">delphi</a>, <a class="performancingtags" href="http://technorati.com/tag/visualbasic" rel="tag">visualbasic</a>, <a class="performancingtags" href="http://technorati.com/tag/criticas" rel="tag">criticas</a>, <a class="performancingtags" href="http://technorati.com/tag/rant" rel="tag">rant</a>, <a class="performancingtags" href="http://technorati.com/tag/pdf" rel="tag">pdf</a>, <a class="performancingtags" href="http://technorati.com/tag/otimização" rel="tag">otimização</a></p>
<p class="poweredbyperformancing">powered by <a href="http://performancing.com/firefox">performancing firefox</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.aedsol.com/ebf/2007/02/06/a-magia-do-codigo-nativo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
