2009/05/30

A Eficiência chega ao Software? [Page's Law]

Todos conhecem a lei de Moore, que diz que os computadores duplicam o seu poder de processamento a cada 18 meses.
No entanto, também constatarão na prática que, a cada 18 meses o software fica duplamente mais lento - fazendo com que, na realidade, a maior parte das coisas pareça demorar o mesmo tempo que sempre demorou.

Esta é a chamada Page's Law (de Larry Page, um dos fundadores do Google.)
 (E que é uma injustiça... já que eu - e muito mais gente - tem vindo a dizer o mesmo há muito, muito tempo. :P)

No entanto, Sergey Brin (outro dos fundadores do Google) diz que o Google vai quebrar essa "lei."
Diz que, com o passar do tempo, o software e produtos do Google irão ficar cada vez mais rápidos e eficientes.



Resta-nos esperar que seja mesmo verdade... e que o resto da indústria siga o mesmo exemplo.

2 comentários:

  1. Só se usarem versões "stripped down" do kernel, continuarem a usar kernels antigos OU compiladores antigos :oP

    Caso contrário, até em soluções open source (tipicamente leves) se nota um decréscimo de performance entre versões (olhemos, por exemplo, para o tamanho de um kernel Linux no passado e para o seu tamanho actual)!

    É claro que há muita coisa que é acrescentada que pode ser desactivada / não é utilizada mas, mesmo assim, há sempre carga extra associada!

    Mesmo os próprios compiladores, vamos ao exagero e comparar a arquitectura de um z80 com um quadcore dos mais recentes :oP

    Existem MUITO mais instruções que têm de ser traduzidas durante a compilação (é claro que não têm havido, tanto quanto sei, assim tantos avanços no set de instruções dos processadores "caseiros" nos últimos anos...).

    Acho mesmo que o maior problema é que, cada vez mais, as aplicações são um conjunto enorme de outras pequenas aplicações (ie: bibliotecas invocadas pela nossa aplicação final).

    Basta algumas dessas bibliotecas terem uma performance merdosa para danificar MUITO a performance global do nosso software!

    Hugz,
    Luís

    ResponderEliminar
  2. Não necessariamente... e tens um exemplo perfeito de uma área onde isso ocorre frequentemente: as consolas de jogos.

    Ora pega num jogo de uma PS2 que tenha saído no seu lançamento, e compara-o com jogos recentes como o God of War, Black, etc.

    São jogos que ninguém acreditaria serem possíveis numa PS2 com umas dúzias de MB de Ram e pouco mais...

    Nos PCs é preciso que aconteça o mesmo.
    Porque razão é que o pessoal se habituou a que uma nova versão seja maior e necessite mais recursos?
    Se tenho um programa para fazer a operação X, quero que a próxima versão faça o mesmo de forma mais rápida e ocupando menos espaço.
    E não ter um sistema operativo que, depois de instalado me ocupa quase 8GB! :)

    ResponderEliminar