Bom, no minimo seria engracado se a MS publicasse um benchmark onde ela perde... :)
Stored Procedures: parte da discussao de nao se utilizar Stored Procedures e' para manter o codigo portavel, certo? O meu ponto aqui e' que por nao ter que pagar o preco de ser cross-platform, e' mais facil otimizar o codigo, quer seja isso em banco de dados ou na camada de componentes. Da mesma forma que e' mais facil otimizar a aplicacao usando procedures do SQL Server 2000, tambem e' mais facil otimizar o .NET Framework apenas para Windows. Cluster: sim, e' possivel escalar para multiplos servidores em diferentes topologias, por exemplo, componentes e apresentacao em servidores diferentes, ou no mesmo servidor com multiplas maquinas com balanceamento de carga. Note que em geral, a segunda opcao escala muito melhor, por ter uma camada (fisica) a menos, a performance quase sempre e' superior. Em geral nao vale a pena pagar o preco da comunicacao atraves da rede para a camada de apresentacao acessar os componentes de negocio exceto para componentes muito pesados, que demoram muito tempo para executar. Uma regra pratica e' que se o componente executa mais rapido que o round-trip atraves da rede, entao nao vale a pena separar fisicamente o componente da camada de apresentacao. Agora, voltando ao assunto escalabilidade, mesmo sem habilitar o ASP.NET output caching, estamos falando de uma diferenca de 4 vezes mais performance. Assumindo que a solucao da Oracle escale linearmente (o que nao e' muito comum em objetos distribuidos), isso significa que voce teria que colocar 4 vezes o numero de maquinas para atender o mesmo numero de usuarios. Nao sei se as linhas geradas no processo do deploy do EJB foram contadas, mas mesmo que tenham sido, note que a mesma informacao destes arquivos estao contidas em atributos do C# (ou VB se fosse o caso). Mas eu concordo, acho que seria justo comparar fontes C# vs. fontes Java mais os arquivos que descrevem o deployment EJB, mas nao o codigo gerado automaticamente. A pergunta que eu deixo aqui e': considerando que o tempo/custo de desenvolvimento em .NET seja similar, custo de software seja similar (em geral Oracle custa mais que MS, mas isso e' outra dicussao), sera que vale a pena comprar 4 vezes mais maquinas para atender o mesmo numero de clientes para manter a possibilidade de ser cross-platform? ----- Original Message ----- From: "Andre Racz" <[EMAIL PROTECTED]> To: "Marcelo" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Cc: "Andre Racz" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Thursday, October 25, 2001 11:29 AM Subject: Re: [java-list] benchmark Java vs. .NET > Infelizmente só pude ler a descrição do benchmark agora, visto que estou muito enrolado no trampo. > > O que me parece, como na maioria dos benchmarks divulgados (por qualquer empresa), é que a Microsoft fez o máximo possível para ganhar. > > Como já foi dito por alguem na lista o uso de Stored Procedures é no minimo suspeito, visto que só isso pode aumentar a performance muito. > > Outro ponto interressante é a escalabilidade. Na implementação da Sun, por usar EJB, é possível escalar os componentes de negócio para um Cluster de Servidores (não se o Oracle faz isso, mas o WebLogic faz), enquanto na aplicação da Microsoft isso não é possível, sem escalar também a camada de apresentação (pelo menos me pareceu isso, pois não vi em nenhum lugar citando o uso de Objetos Distribuidos). > > Aliás o fato de um Benchmark usar objetos distribuidos e o outro não já me parece suspeito, pricipalmente no quesito linhas de código. > > As linhas de código geradas automaticamente pelo deploy do EJB (stub, skeleton, etc) foram contadas??? > > Existem muitos pontos em aberto nessa comparação. > > Abracos, > André Rácz > > > -----Original Message----- > From: "Marcelo" <[EMAIL PROTECTED]> > Date: Mon, 22 Oct 2001 23:15:34 -0700 > To: <[EMAIL PROTECTED]> > Subject: [java-list] benchmark Java vs. .NET > > > > Olá, > > > > Algumas pessoas levantaram as questões de real escalabilidade e performance como muito mais relevantes do que a comparação de features de linguagem entre C# e Java. Bom, alguns de vocês devem estar familiarizados com o Java Pet Store, que é uma aplicação exemplo da Sun de uma arquitetura básica de uma aplicação J2EE. http://java.sun.com/j2ee/blueprints/index.html > > > > Entre outras coisas, esta aplicação foi usada pela Oracle para demonstrar a escalabilidade do Oracle Application Server: http://otn.oracle.com./tech/java/oc4j/pdf/java_performance_results.pdf > > > > Essa mesma aplicação foi implementada utilizando o .NET Framework e SQL Server 2000. Os resultados são, no mínimo, muito interessantes. > > > > http://www.gotdotnet.com/team/compare/default.aspx > > > > Note que os números abaixos foram obtidos usando os mesmos scripts de teste e configuração de hardware usada pela Oracle. Note tambem que o número de linhas de código na versão .NET é muito menor (ver gráfico anexado). > > > > > > .NET Pet Shop vs. Java Pet Store Performance Metrics* > > > > Per page user response times at 450 concurrent users > > App Server CPU Utilization % at 450 concurrent users > > User Load supported at 1 second avg. response time > > > > .NET with ASP.NET Output Caching > > Microsoft .NET 28 times faster than J2EE > > J2EE requires 6 times more CPU utilization than .NET > > .NET supports 6 times more concurrent users than J2EE > > > > .NET with no ASP.NET Output Caching > > > > > > .NET 8 times faster than J2EE > > J2EE requires 4.3 times more CPU utilization than .NET > > .NET supports 4 times more concurrent users than J2EE > > > > > > > > Marcelo Uemura > > Software Design Engineer - MSDN > > Microsoft Corporation > > > > -- > > _______________________________________________ > Sign-up for your own FREE Personalized E-mail at Mail.com > http://www.mail.com/?sr=signup > > > Have you downloaded the latest calling software from Net2Phone? Click here to get it now! > > http://www.net2phone.com/cgi-bin/link.cgi?157 > > _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------