#include <ebf.h>

Idéias, divagações, e baboseiras. By Eduardo Fonseca.

Archive for February, 2007

links for 2007-02-16

without comments

Written by Eduardo

February 16th, 2007 at 3:21 pm

Posted in Del.icio.us

links for 2007-02-15

without comments

Written by Eduardo

February 15th, 2007 at 3:20 pm

Posted in Del.icio.us

links for 2007-02-08

without comments

Written by Eduardo

February 8th, 2007 at 3:18 pm

Posted in Del.icio.us

A magia do código nativo

without comments

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… 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 .

Sério.

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 PDF. Pois é. Tem cliente perguntando se eu to usando o OpenOffice.org e exportando o PDF por de trás de tudo… hehehe… :)

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… ou seja, O(2^n). Refiz um sort antigo que já uso no Maximus Server em C e com a ajuda do grande SWIG fiz um módulo Python rapidinho. Pronto! 750% de aumento de performance. Graças a um ajuste no gerenciamento da memória… quem sabe um dia chego no O(1)… Mas o O(n) já está muito bom.

Ultimamente estou brincando muito com XUL e XPCOM. É estranho desenvolver uma aplicação nativa 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… caramba!!!

Por melhor que seja a linguagem ou o ambiente que você trabalha (.Net, Java, Python, Perl, Lua, o que for…), 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 “desenvolvedores” só sabem brincar com Delphi e Visual Basic (e seus amigos)….

Até!

Eduardo.

Technorati Tags: , , , , , , , , , , , , , ,

powered by performancing firefox

Written by Eduardo

February 6th, 2007 at 10:13 am

links for 2007-02-02

without comments

Written by Eduardo

February 2nd, 2007 at 3:23 pm

Posted in Del.icio.us