[Rio-pm] Fwd: [SP-pm] Compilação

Blabos de Blebe blabos em gmail.com
Domingo Novembro 18 15:39:16 PST 2007


Era isso que eu queria saber fernando.

vlw

Obriagado a todos que responderam





On Nov 18, 2007 5:49 PM, Fernando Oliveira <fernandocorrea em gmail.com> wrote:
>
>
> Isso depende...
>
> se nos seus módulos vc chama outros módulos através de "use", ele vai ser
> carregado logo no inicio do carregamento do programa, como se estivesse
> dentro do bloco BEGIN... agora, se vc usar um "require" os modulos serão
> carregados sob demanda...
>
> Fiz um pequeno teste cara comprovar isso:
>
> fernando em ubuntu:~$ for i in teste.pm teste2.pm teste3.pm teste4.pm; do echo
> "#$i"; cat $i; echo; done
> #teste.pm
> package teste;
> print "teste$/";
> use teste2;
>
> #teste2.pm
> package teste2;
> print "teste2$/";
> use teste3;
>
> #teste3.pm
> package teste3;
> print "teste3$/";
> use teste4;
>
> #teste4.pm
> package teste4;
> print "teste4$/";
>
> fernando em ubuntu:~$ perl -Mteste -e ''
> teste4
> teste3
>  teste2
> teste
> fernando em ubuntu:~$ perl -i -pe 's/use/require/g;'
> teste*.pmfernando em ubuntu:~$ for i in teste.pm teste2.pm teste3.pm teste4.pm;
> do echo "#$i"; cat $i; echo; done
> #teste.pm
> package teste;
> print "teste$/";
> require teste2;
>
> #teste2.pm
> package teste2;
> print "teste2$/";
> require teste3;
>
> #teste3.pm
> package teste3;
> print "teste3$/";
> require teste4;
>
> #teste4.pm
> package teste4;
> print "teste4$/";
>
> fernando em ubuntu:~$ perl -Mteste -e ''
> teste
> teste2
> teste3
> teste4
> fernando em ubuntu:~$
>
> isso prova q qdo se usa o "use", ele carrega o módulo mesmo antes do
> print... por isso a ordem é "invertida" agora, qdo uso o require, ele faz
> "na" ordem, primeiro o print e depois o carregamento do modulo...
>
> espero q tenha podido sanar algumas dúvidas...
>
> Em 18/11/07, Blabos de Blebe < blabos em gmail.com> escreveu:
> > Na mosca, Fernando.
> > Era exatamente nisso que eu queria chegar. Perdoem-me pela falta de
> clareza.
> >
> > Num projeto gigante, mas bem feito em perl, separado em módulos, etc
> > cada módulo seria compilado de acordo com a demanda, mesmo depois de subir
> > o script principal, ou seria compilado tudo de uma vez, pra depois
> > subir o sistema?
> >
> >
> > Obrigado
> >
> >
> > On Nov 17, 2007 11:29 AM, Fernando Oliveira <fernandocorrea em gmail.com >
> wrote:
> > > Eu acho q a pergunta dele foi a seguinte:
> > >
> > > se existem programas q levam dias p/ compilar, um equivalente a um
> desses
> > > programas em uma linguagem q compila o código em tempo real, levaria
> dias p/
> > > rodar? e teria q se esperar dias toda vez q se quisesse rodar esse
> programa?
> > >
> > > foi isso q vc quis perguntar locão (wesley)?
> > >
> > > Em 17/11/07, Frederico Recsky < frederico em gmail.com> escreveu:
> > >
> > > > Olá
> > > >
> > > > On Nov 15, 2007 3:32 PM, Blabos de Blebe < blabos em gmail.com> wrote:
> > > > > Boa tarde a todos,
> > > > >
> > > > > Ultimamente andam me rodeando assuntos como interoperabilidade,
> > > > > máquina virtual, compilação, etc.
> > > > >
> > > > > Cenário:
> > > > >
> > > > > Tem uma pessoal aí que diz que pra ser portável tem que ter máquina
> > > > > virtual, "porque vc compila pra um e
> > > > > roda em todos". Outros dizem que para ser portável, basta ser
> > > > > compilável em qualquer plataforma. Os
> > > > > adeptos das máquinas virtuais respondem que grandes sistemas demoram
> > > > > muito pra compilar, gerando
> > > > > custos extras, etc.
> > > >
> > > > "Maquina virtual, compila em um e roda em todas" é um puta engano. No
> > > > caso do java você roda em todos que a sun quer com ressalvas em
> > > > algumas. Alias, não existe almoço gratis.
> > > >
> > > > > A pergunta é: Dado um sistema que demore dias pra compilar numa
> > > > > linguagem qualquer. Dado que
> > > > > esse sistema tenha sido re-escrito em "Elegante Perl". Como Perl se
> > > > > comporta ao levantar um
> > > > > sistema gigante? Ou seja, quais as dificuldades que Perl poderia
> > > > > enfrentar nesse cenário ou em
> > > > > algum semelhante?
> > > >
> > > > Demorar dias para compilar não quer dizer nada. Quando voce muda
> > > > somente um pedaço do codigo fonte, voce não compila tudo novamente,
> > > > pois já inventaram o linker e etc.. Normalmente na entrega final se
> > > > faz um grande build. Porém existem n formas de se distribuir grandes
> > > > programas compilados e suas atualizações sem recompilar tudo. Patches
> > > > de binarios por exemplo.
> > > >
> > > > Olha, dos sistemas de dias para compilar, eu vi servidores e sistemas
> > > > operacionais e suites office/graficas.  O corel draw deve levar dias
> > > > para compilar por exemplo. Porém normalmente você trabalha com pedaços
> > > > de um sistema. Você não vai fazer um oracle nem compilar seu proprio
> > > > oracle para entregar para o cliente, você faz um aplicativo
> > > > (relativamente pequeno) que usa o oracle existente e entrega tudo.
> > > >
> > > > >
> > > > > Eu tenho lá minhas especulações sobre o que aconteceria, mas já que
> > > > > não tenho como testar,
> > > > > gostaria das opiniões dos grandes mestres.
> > > >
> > > > Just for fun eu gerei um script perl de somente 20 megas, e ele ta
> > > > "abrindo" no meu micro faz uns 40 minutos:
> > > >
> > > > ps aux |grep gigante.pl
> > > > ibm       8840 92.2  7.2 153616 150460 pts/1   R+   22:21  42:58 perl
> > > gigante.pl
> > > >
> > > > Obviamente um script monolitico de 20mb não é "Elegante Perl" :) ;)
> > > >
> > > > --
> > > > ____________________________
> > > > Frederico Recsky
> > > > Linux User: #253572
> > > > http://www.fred.eti.br
> > > > http://www.perl.org.br
> > > > _______________________________________________
> > > > SaoPaulo-pm mailing list
> > > > SaoPaulo-pm em pm.org
> > > > http://mail.pm.org/mailman/listinfo/saopaulo-pm
> > > >
> > >
> > >
> > >
> > > --
> > > []'s Fernando
> > > _______________________________________________
> > > Rio-pm mailing list
> > > Rio-pm em pm.org
> > > http://mail.pm.org/mailman/listinfo/rio-pm
> > >
> > _______________________________________________
> > SaoPaulo-pm mailing list
> > SaoPaulo-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/saopaulo-pm
> >
>
>
>
> --
> []'s Fernando
>
> --
> []'s Fernando
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>


Mais detalhes sobre a lista de discussão Rio-pm