Teste de desempenho com números primos em C

Estendendo o assunto de teste de desempenho com números primos em BASH que publiquei antes http://www.vivaolinux.com.br/script/Teste-de-desempenho-com-numeros-primos-em-BASH tive um tempinho e codifiquei também em C. Desta vez não compilei no SO do servidor, mas em desktop Windows com GCC mesmo. No período de quase uma hora rodando num Celeron D com 1 GB de memória, obtive UM resultado: Primo 1410065413 Primo 1410065441 Primo 1410065443 O Desktop apresenta alguns momentos de "stall", travamento, mas bem de leve. Tipo ao digitar demora pra sair do buffer. Vou compilar no servidor e executar com `time` como fiz com o BASH. Testem o desempenho e divirtam-se!

Por: Andre Miguel


Teste de desempenho com números primos em BASH

Certo dia me deparei com um bottom brincalhão que dizia: "Digite qualquer número primo de 11 dígitos para continuar". Fiquei com vontade de saber se havia tal número. Então fiz um shellzinho para testar. Primeiros 10, beleza; primeiros 100, beleza, primeiros 1000, já não estava mais tão rápido. Percebi a oportunidade de utilizar este script como benchmark de desempenho entre servidores, sejam de mesmo hardware ou não. Quando você executar, pode demorar a aparecer alguma coisa na tela, mas ele está rodando. Pode verificar com strace ou truss (Solaris). Após você testar e tiver a coragem de descomentar a linha do 10000000000, me poste aqui os números primos que você achou! Dica: para temporizar a execução, utilize a linha abaixo: $ bash primo.sh 2>&1 |egrep 'Primo|real' |awk '{if ($2 ~ /s/){split($2,minsplit,"m");min+=minsplit[1];seg+=substr($2,3,5);}else{print min,seg; print $0; min=seg=0; }}' Você deverá ter uma saída como esta: 0 0.1 Primo: 11 0 0.248 Primo: 13 0 0.587 Primo: 17

Por: Andre Miguel


Execução remota com SSH e HERE DOCUMENTS descomplicada

Tive um problema para executar shell scripts desenvolvidos em BASH script em máquinas remotas, pois o usuário utilizado tinha como shell padrão o C Shell ou o Korn Shell. Para fazer isso, utilizei conexão SSH, via chave já configurada, evitando ter que recolocar a senha, e o recurso de HERE DOCUMENTS do BASH. Também lancei mão da funcionalidade de "||", que significa que se o comando anterior executado retornou erro, faça outra coisa. Nesse caso em específico, eu tinha uma série de servidores em que o mesmo arquivo Perl (mesmo conteúdo, mesma finalidade), tinha nomes ligeiramente diferentes e versões velhas e desatualizadas (muita gente pondo a mão, se é que você me entende...). Ex: $ runall.pl e $ runalls2.pl Veja abaixo que o recurso de "||" me serviu para saber qual dos dois Perl scripts eu deveria executar. O script abaixo foi desenvolvido em BASH para "adiantar o serviço" de administrador de sistemas. É claro que há maneiras diferentes de se fazer, mas vale a dica. Ele está do jeito exato que está no arquivo, com dado no lugar mais apropriado para sua execução, apenas alterei nomes de programas e diretórios.

Por: Andre Miguel


Execução temporizada de programas

Tive uma situação em que precisava rodar um programa similar ao strace do Linux num Solaris - o aplicativo truss - para coletar dados de execução de uma aplicação da empresa. A aplicação envolve dezenas de processos simultâneos e que geram milhares de informações por segundo, sendo controlados por três processos principais. Estes processos principais não geram tantas informações por segundo como os outros, então o truss ficaria rodando interminavelmente até que eu fizesse um SIGINT ou SIGKILL. Criei um script em BASH, mesclado com pequenos códigos AWK, para que a execução capturasse determinada quantidade de informações e terminasse, ou que terminasse após um determinado tempo, independentemente da quantidade de informações coletada. Usei o nawk porque o gawk não tenho disponível nos servidores SUN.

Por: Andre Miguel


Ordenação de Bytes por Swap Nibble

É um script simples para ordenação de bytes por Swap Nibble numa string. Esse procedimento é usado em muitas áreas, desde programação de Circuitos Integrados (com Assembler), a sistemas de Telecom.

Por: Andre Miguel






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts