Teste de desempenho com números primos em BASH
Publicado por Andre Miguel (última atualização em 06/01/2010)
[ Hits: 8.264 ]
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
#for (( i=10000000000; i<= 999999999999; i++)); do for (( i=10; i<= 999; i++)); do j=$i; primo=0; time cat <<-EOF $(for (( j=$i; j>=1; j--)); do if [ `echo $((i%j))` -eq 0 ]; then ((primo++)); if [ $primo -gt 2 ]; then j=1; else if [ $primo -eq 2 ] && [ $j -eq 1 ]; then echo "Primo: $i"; fi fi fi; done;) EOF done
Script para balanceamento de link's de internet
Gerenciamento com firewalld no CentOS 7
POSTFIX AUTOMÁTICO COM MYSQL E IPTABLES - FILTRO PARA CMAMAR O CLAMAV DIRETAMENTE DO POSTFIX
Converter Arquivo RMVB para AVI
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
Queda no serviços da Cloudflare, alguns sites estão fora do ar. (1)
Perfil criado no samba ad dc não loga no Windows 10 e 11 (11)









