[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Problemas com performance de script shell
From: |
Rodrigo Boechat |
Subject: |
Re: [shell-script] Problemas com performance de script shell |
Date: |
Mon, 14 Nov 2011 20:14:35 -0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:7.0.1) Gecko/20111001 Thunderbird/7.0.1 |
Por favor, mande um exemplo com valores fictícios do arquivo de entrada.
Três conjuntos de linhas "2" e "3" seria suficiente.
Rodrigo Boechat
Em 14-11-2011 19:42, mrgraucio escreveu:
>
> Boa noite galera!
>
> Estou com um problema na leitura de arquivos, classificação desses
> dados e armazenamento em banco de dados. Tenho um arquivo que tem em
> torno de 4 mb com informações sobre a produção de uma determinada
> empresa. Nele tenho linhas que iniciam com o número 2 e complementadas
> com linhas iniciadas pelo número 3. Basicamente transformo as linhas
> iniciadas por 2 e 3 em uma só. A linha iniciada por 2 tem sempre 80
> caracteres, a iniciada por 3 varia de acordo com o tipo do produto em
> questão. Faço a separação por serviços de acordo com o número de
> caracteres da linha. Ex.:
>
> for a in $(grep -B 1 '^3' $ARQ | sed 's/ //g' | sed '/--/d' | sed -e
> "N;s/\n$3/3/g"); do /* FAÇO A LINHA COMPLEMENTAR, DE INICIO 3, VOLTAR
> UMA LINHA ACIMA, AO FINAL DA LINHA DE INÍCIO 2. ESSE CARA DEMORA BEM
> POUCO */
>
> if [ $(wc -c <<<$a) -eq <num de caracteres> ]; then /* CLASSIFICAÇÃO
> DE ACORDO COM NUMERO DE CARACTERES */
>
> if [ $(cut -c26-31) -eq 109 ]; then /* ESSES CARACTERES ME DÃO O
> CÓDIGO DO PRODUTO, CASO ALGUMA LINHA TENHA O MESMO NÚMERO DE
> CARACTERES MAS NÃO SEJA O MESMO PRODUTO */
> var1=$(cut -c2-10 <<<$a)
> var2=$(cut -c11-15 <<<$a)
> varn=$(cut -cnn-nn <<<$a)
> fi
>
> fi
>
> done
>
> Porém está demorando em torno de 25 minutos para terminar a
> classificação dos dados.
>
> Há alguma forma de eu conseguir executar vários loops de uma só vez,
> fazendo algum fork ou algo do gênero? Procurei em vários lugares
> também a respeito de como fazer multi-processamento dessas tarefas
> para melhorar a distribuição das tarefas entre threads do CPU
> (Core2Quad) mas também cheguei no fim da linha e não consegui nada!
>
> O arquivo é executado a partir de uma tmpfs, acreditei ser melhor para
> ter maior velocidade de leitura.
>
> Alguém tem uma luz de como deixar este processo mais rápido?
>
> Grato e muito obrigado!
>
>
[As partes desta mensagem que não continham texto foram removidas]
- Problemas com performance de script shell, mrgraucio, 2011/11/14
- Re: [shell-script] Problemas com performance de script shell,
Rodrigo Boechat <=
- Re: Problemas com performance de script shell, mrgraucio, 2011/11/14
- Re: [shell-script] Re: Problemas com performance de script shell, Rodrigo Boechat, 2011/11/14
- Re: Problemas com performance de script shell, mrgraucio, 2011/11/14
- Re: Problemas com performance de script shell, mrgraucio, 2011/11/14
- Re: [shell-script] Re: Problemas com performance de script shell, Rodrigo Boechat, 2011/11/15
- Re: Problemas com performance de script shell, mrgraucio, 2011/11/16
- Re: [shell-script] Re: Problemas com performance de script shell, Rodrigo Boechat, 2011/11/16
- Re: [shell-script] Re: Problemas com performance de script shell, Julio C. Neves, 2011/11/16
- Re: Problemas com performance de script shell, mrgraucio, 2011/11/16
- Re: Problemas com performance de script shell, mrgraucio, 2011/11/16