[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RES: RES: [shell-script] Re: melhorar script shell
From: |
Julio Cezar Neves - DATAPREVRJ |
Subject: |
RES: RES: [shell-script] Re: melhorar script shell |
Date: |
Thu, 11 Nov 2004 14:48:05 -0300 |
| -----Mensagem original-----
| De: Adam Victor Nazareth Brandizzi [mailto:address@hidden]
| Enviada em: quinta-feira, 11 de novembro de 2004 14:15
| Para: address@hidden
| Assunto: Re: RES: [shell-script] Re: melhorar script shell
|
| > O que é fácil de provar é que o sed e o awk superam e muito
| o perl quando a
| > aplicação é I/O bound, como me parece ser esta do colega,
| que trata grandes
| > arquivos.
|
| ...isto só é mais rápido se os interpretadores forem chamados
| apenas uma
| vez. Chamar um program causa um consumo enorme para a
| máquna. Se você
| faz um script shell faz basicamente isto, ele vai ficar muito
| lento mesmo.
Já tivemos uma flame destas aqui na lista há um bom tempo atrás envolvendo
eu, Aurélio (verde) e o Eliphas (que era um tremendo profissional da
conectiva e sumiu da lista) e o que passei foi a conclusão a que chegamos
após diversos testes. Isso ocorreu qdo a nossa lista só tinha 140
colaboradores (acho que somos 1200 atualmente).
Vc tem razão, a carga de um programa onera muito a máquina, então os
melhores tempos que conseguimos foram em scripts que usavam somente
built-ins do shell, já que qdo vc faz um cd, a máquina tem de trazer o
código do cd para a sua partição e o shel fica lento por 2 motivos:
1 - Devido à sua total integração com o ambiente, usa exaustivamente progs
externos, como cd, ls, mv, rm, ...
2 - Por ele ser basicamente uma interface direta com o usuário via prompt,
não dá uma pré compilada (como o perl, sed e awk) que lhe permita
implementar algorítimos de look-ahead e resolver endereços e variáveis.
Não se esqueça tb que um script em perl obrigatoriamente começa com um
#!/bin/perl, isto é, está dizendo para o shell que o está assistindo para
ele empilhar em cima dele próprio um interpretador _pesadíssímo_ de perl.
| Perl seria uma boa solução, indubitavelmente. Eu, porém,
| preferiria awk,
| que é mais simples. Se quiser continuar usando shell, procure
| fazer mais
| coisas em cada chamada do sed (eu vi pouco, mas vi que você
| chama o sed
| várias vezes).
Se existisse uma pré-compilação, qq algorítimo de mambembe manteria o sed na
memória em um caso desses.
| --
| Adam Victor Nazareth Brandizzi
| Estudante de Ciência da Computação - UnB - Usuário Linux nº 366316
| ICQ: 168537710 | Jabber: address@hidden | Telefone: (61)9639 5258
| "Real programmers don't use Pascal: just the integer ones can do it."
|
|
| ---------------------------------------------------------------------
| Esta lista não admite a abordagem de outras liguagens de
| programação, como perl, C etc. Quem insistir em não seguir
| esta regra será moderado sem prévio aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista é moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Links do Yahoo! Grupos
- RES: RES: [shell-script] Re: melhorar script shell,
Julio Cezar Neves - DATAPREVRJ <=