shell-script-pt
[Top][All Lists]
Advanced

[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




 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]