Sobre as séries desse blog
Como você percebeu, iniciei hoje uma nova série. Comecei a falar um pouquinho sobre proxies. Se você está acompanhando a série IL101, não se preocupe. Ela não encerrou! Apenas pretendo manter o desenvolvimento de duas séries. Espero que entendam. Partindo de hoje, pretendo liberar novos posts, quase diários para as duas séries em dias… [Read more…]
Mocks e Proxies–Parte 1
Motivação Você já usou testes automatizados? Aplica, ou quer aplicar, TDD? Então, provavelmente você será, mais cedo ou mais tarde, “apresentado” ao conceito de Mocks. Segundo a Wikipedia, um objeto Mock simula o comportamento de objetos reais de forma controlada. São normalmente criados para testar o comportamento de outro objeto. Quando e como utilizar Mocks… [Read more…]
IL 101–Parte 3
Motivação Nos posts anteriores identifiquei o IL como sendo um dos componentes centrais do .NET Framework. Conhecer seu significado, o que ocorre “sob o capô”, permite que exploremos todas as potencialidades desse fantástico artefato de software. Mesmo não programando diretamente em IL, você pode usar Emiting e, mesmo assim, obter ganhos reais perceptíveis de performance… [Read more…]
IL 101–Parte 2
Motivação Comecei este blog falando sobre geração dinâmica de código executável. Entretanto, ao receber feedback dos amigos, percebi que um problema anterior precisava ser superado: Como programar usando Intermediate Language (IL, para os íntimos)? Esta é a motivação primária para essa série. Como disse um colega na DotNetArchitects (sem edições): Não acho que vou precisar… [Read more…]
IL 101–Parte 1
Motivação Comecei este blog falando sobre geração dinâmica de código executável. Entretanto, ao receber feedback dos amigos, percebi que um problema anterior precisava ser superado: Como programar usando Intermediate Language (IL para os íntimos J). Esta nova série de posts tem por proposta dar uma boa introdução para o assunto. Não pretendo esgotar o assunto,… [Read more…]
Geração de código executável dinamicamente (on-the-fly) – Código-fonte
Com muito orgulho, informo que estou disponibilizando o código-fonte desenvolvido nessa série de posts. Caso você tenha interesse em fazer download desse código, acesse: http://fluentil.codeplex.com. IMPORTANTE: Criei essa série de posts de forma interativa. Muitas das ideias implementadas nos códigos são produtos da colaboração e discussão com os colegas da DotNetArchitects. A thread de… [Read more…]
Geração de código executável dinamicamente (on-the-fly) – Parte IV
Motivação No post anterior demonstrei, finalmente, alternativas de melhoria de performance através da geração dinâmica de código executável. Entretanto, em discussões na comunidade DotNetArchitects percebi que o uso de Emiting é controverso, visto dificuldade relacionada e a aparente facilidade em escrever código que apresente resultados inesperados (Normal, afinal estamos escrevendo em IL, que é uma… [Read more…]
Geração de código executável dinamicamente (on-the-fly) – Parte III
Motivação No post anterior mostrei algumas alternativas de otimização para o algoritmo para aplicação de filtros em imagens digitais. Também examinei algumas alternativas de melhoria de performance pela utilização das funções de paralelismo do framework 4. Esta série está me ajudando a reafirmar a convicção de que grandes melhorias podem ser obtidas em alto nível.… [Read more…]
Geração de código executável dinamicamente (on-the-fly) – Parte II
Motivação No post anterior iniciei a apresentação de um case onde a geração dinâmica de código pode colaborar para obtenção de sub-rotinas de alto desempenho. Trata-se de um modelo simples de aplicação de filtros em imagens digitais. Honestamente, acredito que se deva esgotar todas as possibilidades de otimização do código em alto-nível antes de recorrer… [Read more…]
Geração de código executável dinamicamente (on-the-fly) – Parte I
Dados são apenas uma espécie boba de programação (Bill Gosper) Motivação Relendo alguns artigos antigos, deparei-me com uma bela abordagem apresentada por Charles Petzold para aplicação de filtros em imagens digitais com alto desempenho computacional. A proposta dele era gerar código executável on-the-fly para aplicação de filtros. NOTA: Hoje em dia, escrever pixel shaders para… [Read more…]
julho 30, 2010
1