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

tito ocampos titopy em gmail.com
Quinta Novembro 15 22:04:06 PST 2007


Desculpem minha santa ignorância....... mas, existem programas que
demoram dias para compilar?  .. pelo menos falando em sistemas grande
porte, para servidores/computadores adequados?

confesso que o termo "programas gigantes", "dias para compilar" tirou
meu sono.... será que a pergunta não se referia a softwares de
simulação que demoram dias para ter resultados, instaladores que
demoram "quase" um dia para terminar a instalação (muito mais em
virtude de I/O como bottleneck do q por processamento de CPU),
renderização de imagens?

socorro!!!



Abs.

On Nov 16, 2007 1:08 AM, breno <breno em rio.pm.org> wrote:
> Não sei exatamente como essa questão se aplica no Perl. De um modo
> geral, programas gigantes que levam dias para compilar são assim pq
> compilam junto com eles uma série de bibliotecas e dependências. O
> código em si, mesmo grande, dificilmente será monolítico, de modo que
> durante a execução sua estrutura e dependências acabarão carregadas
> sob demanda, quer ele tenha sido pré-compilado ou não.
>
> No caso de programas em Perl, se o programa foi bem feito então a
> maioria do código está distribuido entre diferentes módulos, em um
> modelo distribuido com diversos processos rodando em paralelo, cada um
> carregando uma parte do sistema (como é com a maioria dos softwares de
> grande porte, de um modo geral). Nesse caso, suponho que uma aplicação
> em Perl funcionará de forma análoga a código pré-compilado, com o
> mesmo drawback de uma aplicação Perl de pequeno e médio porte (demora
> um pouquinho antes de começar a primeira execução pq está carregando e
> compilando tudo para a árvore de parsing).
>
> Mas, sinceramente, é difícil encontrar sistema assim feitos em Perl,
> acredito que por dois motivos fundamentais:
>
>    1) Boa parte das funcionalidades do Perl em aplicações grandes está
> associada ao uso de dependências de bibliotecas externas (compiladas)
> ou bancos de dados (também compilados), de modo que apenas os wrappers
> são em Perl e o resto já está presente no seu sistema. Ou seja, menos
> coisa pro perl se preocupar em compilar/interpretar, ele apenas lida
> com os sinais nesse caso;
>
>    2) Perl, convenhamos, é uma linguagem poderosa o suficiente para
> tornar tarefas complexas possíveis de maneiras compactas e eficientes,
> e ao usar Perl dificilmente seu programa atingirá proporções que de
> fato assustam para conseguir fazer o que vc quer. E, se atingir, boas
> práticas de forking e independência modular farão com que você tenha
> apenas pequenos atrasos de primeira execução dessas partes do seu
> programa, e não um grande atraso do programa como um todo (o que seria
> desagradável, até pq a grande maioria das funcionalidades de um
> programa desse porte são usadas de fato apenas pela grande minoria)
>
>
>
> Não sei se consegui responder sua pergunta, estou meio com sono e
> posso ter me repetido, ou não feito sentido algum. O resumo é: não se
> preocupe com isso, pode fazer seu navegador web ou ferramenta de
> office em Perl que vai dar tudo certo =P
>
> []s
>
> -b
>
>
> On Nov 15, 2007 11:32 PM, Lorn <lorn.br em gmail.com> wrote:
> > <estou_sem_acentos>
> > Bom, pelo pouco que conheço, sei que Perl eh compilado e interpretado.
> > Se esse sistema que vocë chama de "Grande" eh via web, mod_perl
> > resolve seus problemas, pois ele "compila e interpreta" as instrucoes
> > do seu codigo Perl e deixa na memoria pronto pra uso :)
> > Se nao for, voce pode usar PAR que gera um pacote binario e nesse
> > pacote ja vai tudo, desde o proprio perl quanto ate os modulos que
> > voce usar ai eh soh executar seu programa onde voce quiser.
> > Meus 2 centavos...
> > </estou_sem_acentos>
> >
> >
> > On Nov 15, 2007 4: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.
> > >
> > > Eu ainda to lendo 'O Livro' de perl e estou no começo, então
> > > possivelmente minha dúvida será respondida
> > > no decorrer das páginas. De qualquer forma eu sei que é uma pergunta
> > > meio idiota, mas lá vai:
> > >
> > > 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.
> > >
> > > Perl é portável sem essa papagaiada toda.
> > >
> > > 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?
> > >
> > > 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.
> > >
> > > Obrigado
> > > _______________________________________________
> > > SaoPaulo-pm mailing list
> > > SaoPaulo-pm em pm.org
> > > http://mail.pm.org/mailman/listinfo/saopaulo-pm
> > >
> >
> >
> >
> > --
> > Lindolfo "Lorn" Rodrigues
> > - www.slackwarezine.com.br
> > - http://lornlab.org
> > - http://sao-paulo.pm.org
> > use Catalyst;
> >
> > _______________________________________________
> > Rio-pm mailing list
> > Rio-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
> >
> _______________________________________________
> 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