Formando equipes de alto desempenho, parte 1: Início e fases de evolução
Nesta primeira parte de uma série sobre equipes de alto desempenho e gerenciamento Agile, veja uma introdução geral e uma apresentação dos estágios de formação das equipes.
Disseminando conhecimento e inovação em desenvolvimento de software corporativo
O conteúdo foi adicionado aos favoritos!
Houve um erro ao adicionar aos favoritos! Por favor, tente novamente.
Postado por Mirko Stocker , traduzido por Felipe Rodrigues em 12 Nov 2008
"O que pode estar errado com o a implementação Net:HTTP do Ruby?", você poderia perguntar. Adam Nelson foi surpreendido pelo que ele viu em uma aplicação que transfere enormes quantidades de dados."O que realmente acontece é que a CPU redlines, e o dado é transferido em blocos de 1024 bytes.", Adam descobriu em sua primeira análise. O verdadeiro problema é que "isto põe um timeout em torno de cada única chamada rbuf_fill," escreve Alex Young, "então por padrão tem de lançar uma nova thread para cada 1K de dados recebidos".
Uma comparação entre diferentes implementações de diferentes bibliotecas Ruby e Ruby 1.8.6 mostraram que utilizam "duas vezes mais o uso da CPU enquanto o concorrente mais próximo", que é Ruby 1.8.7, que aparentemente usa um buffer maior (16K). Curiosamente, Ruby 1.9.0 tem o menor uso da CPU, que uma implementação que utiliza readpartial, "sem timeout para leitura de socket" e "String buffer pré-alocados para cada leitura ". Logo atrás está a RFuzz, uma implementação Ruby baseada no núcleo Mongrel por Zed Shaw.
Esta questão não é nova, em uma thread no ruby-talk mailinglist datada de 2006 jáse discutia o problema e alguns workarounds para evitá-lo.
Além disso, isto é também um bom exemplo de quão útil e valioso implementações open source podem ser.
Nesta primeira parte de uma série sobre equipes de alto desempenho e gerenciamento Agile, veja uma introdução geral e uma apresentação dos estágios de formação das equipes.
O Business Model Canvas é uma ferramenta estratégica para a construção visual de novos produtos ou serviços. Conheça cada um dos seus elementos e como preencher o Canvas, passo a passo.
Nessa segunda e última parte de uma série sobre o Google Apps Script, conheça como funciona o envio de emails, a conversão de documentos e como criar menus e triggers.
Este artigo avalia seis dos mais importantes fornecedores de serviços de cloud computing PaaS para desenvolvedores Java, analisando critérios como desempenho, escalabilidade e tecnologias suportadas.
O Canvas de Modelo de Negócios é um novo modo de comunicar e suportar a validação iterativa, incremental e empírica de modelos de negócio de startups e novos produtos substituindo o plano de negócios.
Nesta segunda e última parte de uma entrevista exclusiva para InfoQ Brasil, Rebecca Parsons, CTO da ThoughtWorks, fala sobre o Agile Distribuído e técnicas para definição de arquiteturas.
Nessa primeira parte de uma entrevista com a CTO da ThoughtWorks, veja recomendações sobre formas de construir e arquitetar sistemas para obter o máximo de flexibilidade e responsividade a mudanças.
Os gerentes de projetos podem assumir o papel crítico de liderar a introdução do Agile. Vejas conceitos, dicas e técnicas para apoiar esse processo de mudanças.
2 comentários
Acompanhar Discussão Responder