Ivan, boa observação

saca so

$ cat a.sh
#!/bin/bash
( seq 90000 >&2 ) 2>/dev/null

$ time ./a.sh

real    0m2.592s
user    0m2.435s
sys     0m0.076s

$ cat b.sh
#!/bin/bash
( seq 90000 >&2 ) 2>&-

$ time ./b.sh

real    0m0.158s
user    0m0.045s
sys     0m0.046s

Ou seja, fechar o descritor de erros é muito mais eficiente do que
redirecionar pra /dev/null

Agora compara so:

$ cat a.sh
#!/bin/bash
( seq 90000 ; seq 90000 >&2 ) 2>/dev/null >/dev/null

$ time ./a.sh

real    0m5.052s # leeeeeeento
user    0m4.856s
sys     0m0.090s

$ cat a.sh
#!/bin/bash
( seq 90000 ; seq 90000 >&2 ) 2>&- >/dev/null

$ time ./a.sh

real    0m2.794s # o dobro da rapidez, quase
user    0m2.481s
sys     0m0.060s

$ cat a.sh
#!/bin/bash
( seq 90000 ; seq 90000 >&2 ) 2>&- >&2

$ time ./a.sh

real    0m0.157s # Q foguete!!!
user    0m0.077s
sys     0m0.015s

On 9/29/07, Ivan lopes <[EMAIL PROTECTED]> wrote:
>
>   Here is an example using curl to run a remote script:
>
> # curl http://website/cron.php 2>&- >&2
>
> This is elegant and much shorter than:
>
> # curl http://website/cron.php 2>/dev/null >/dev/null
>
> eu achei isso legal e resolvi mandar para a lista ....
>
> --
> [ ]'s
> Ivan Carlos Da Silva Lopes
>
> Engenheiro Eletronico e Computacao
> UFRJ
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

http://peczenyj.blogspot.com/


[As partes desta mensagem que não continham texto foram removidas]

Responder a