skabryanty:
Pessoal,
Desenvolvi um aplicativo simples de consulta a um arquivo de texto compilado em conjunto com o .class e descarreguei ele do meu notebook para dois aparelhos Sony Ericsson (K850i e K660i) e para um Nokia 5610. Reparei que a busca que eu efetuava no Nokia era da ordem de 5x mais rápido que os da Sony… alguém sabe o que pode estar acontecendo?
Durante o projeto não importei nenhum tipo de recurso, apenas desenvolvi o algoritmo, compilei e enviei para os celulares.
É de se esperar que aparelhos de modelos diferentes e até fabricantes diferentes, demonstrem desempenho diferentes, afinal, são produtos que não necessariamente compartilham das mesmas implementações Java, podem possuir diferenças sutis quanto a produtos utilizados na fabricação dentre outros.
Imagina que o celular A e B sejam do fabricante JJJJ e o C seja do fabricante XXXX.
O celular B embora lançado após o A, pode ter desempenho inferior ao primeiro devido a sair de fábrica com uma implementação Java “mexida” para que pudesse ser acomodada a capacidade do aparelho, quanto a processador e armazenamento sua “ROM”.
Já o celular C pode ser melhor do que o A e o B por conter em sua implementação Java, em alguns pontos muito usados por programadores, melhorias significativas em suas rotinas que permitem que mesmo não se gastando muito com o produto, ainda sim o desempenho do celular não fica tanto pra traz.
Enfim, cada fabricante possui suas estratégias e é livre para decidir como vai ser o celular frente as necessidades dos usuários.
Assim como os micros possuem ferramentas de benchmark, os celulares também não ficam fora disto e servem para justamente se fazer comparações que levem a você tomar a decisão na hora de escolher o modelo A ou B ou C.