Conversei com um amigo que já escreve software de base em C/C++ há bastante
tempo e ele disse que o mesmo algoritimo em C teria basicamente a mesma
performance, uma leitura while not eof noutra linguagem não me daria
nenhuma vantagem. Taambém me disse que softwares como sed, awk, perl e grep
apesar de serem escritos em C/C++ fazem as coisas de um jeito diferente que
dão uma performance drastica a tratamento de arquivos. Por isso não resolvi
re-escrever em C ou pascal e mantive em bash com grep+awk+sed+perl. Um sed
que converte unixtime :
perl -MPOSIX -pe 's/\d+/strftime("%Y-%m-%d+%H:%M:%S",localtime($&))/e'
/var/log/squid3/squid.log >> "$TMPFILE_PARCIAL" no log do squid contendo
1,5milhão de linhas é feito em instantes e eu fazia isso linha-a-linha
dentro meu mundinho de while not eof que levava horas !

Não me arrependo, só me arrependo de não saber tanto de perl e awk quanto
eu gostaria. Se tivesse curso disso eu até faria.

[]'s


Em 28 de outubro de 2011 18:05, Andre Cavalcante <
andre.d.cavalca...@gmail.com> escreveu:

> Em 28 de outubro de 2011 13:59, hamacker <sirhamac...@gmail.com> escreveu:
>
> > Só para concluir este assunto.
> >
> > Bem, o que fiz ?
> > parei de fazer a leitura sequencial, usei um 'awk' para pegar todos os
> > usuarios contidos no log e depois um grep para pegar usuario por usuario
> e
> > refiz a saída usando outra sintaxe do 'awk' formatando o resultado,
> > resultado ?
> > O tempo caiu para 11min, por isso AWK rocks !
> > E só leva 11min porque tem um grep no meio que remove do log acessos
> > considerados de livre acesso e leva 9min! senão seria tudo em 2min.
> >
> > Só preciso conhecer melhor essa ferramenta porque olhando a sintaxe sem
> > saber o que faz parece código alienigena.
> >
>
> É por essas e outras que parto para soluções mais terráqueas (C ou Pascal!)
>
> ahahahaha!
>
> Abraços
>
> André Cavalcante
> Caparica, Portugal
> Ubuntu User number # 24370
> Quer saber sobre Open Source Software? http://sobreoss.blogspot.com
> Quer saber mais sobre Espiritismo? http://sobreespiritismo.blogspot.com
>
> Atenção: Este e-mail pode conter anexos no formato ODF (Open Document
> Format)/ABNT (extensões odt, ods, odp, odb, odg). Antes de pedir os anexos
> em outro formato, você pode instalar gratuita e livremente o BrOffice (
> http://www.broffice.org) ou o seguinte Plugin para Microsoft Office (
> http://odf-converter.sourceforge.net/index.html<
> http://www.sun.com/software/star/odf_plugin/get.jsp>
> ).
> --
> Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece
>
> Lista de discussão Ubuntu Brasil
> Histórico, descadastramento e outras opções:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-br
>
-- 
Mais sobre o Ubuntu em português: http://www.ubuntu-br.org/comece

Lista de discussão Ubuntu Brasil
Histórico, descadastramento e outras opções:
https://lists.ubuntu.com/mailman/listinfo/ubuntu-br

Responder a