Archive for the ‘Mono’ Category
A magia do código nativo
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: aedsol, maximus, nativo, c , python, maximus, swig, xul, xpcom, delphi, visualbasic, criticas, rant, pdf, otimização
powered by performancing firefox