Crivo de Eratóstenes Simples em PHP
Não é muito comentado, mas pode-se fazer scripts que rodem direto do terminal para tarefas corriqueiras em PHP.
Igual a Perl, Python e Shellscript.
Como o objetivo desta linguagem é ser uma página dinâmica de web (ou CGI, mais raro), essa observação passa por desapercebido.
Para rodar um script em PHP igual aos outros script, necessita-se de três coisas:
1ª Permissões de execução: "chmod +x ..."
2ª Colocar She-Bang na primeira linha: "#!/usr/bin/php"
3ª Todo o código deve estar entre as tags "<?php" e "?>".
O que estiver fora das tags será impresso na tela sem ser interpretado.
=================================================================
Este script tabula números primos. A contagem está marcada para o intervalo de 1 até 10000000 (dez milhões).
Um script em Perl de código muito similar tabulou aqui os ńúmeros do intervalo de um a um milhão em quase quatro segundos.
Este script fez o mesmo teste de um a um milhão em pouco menos de três, isto é um segundo a menos.
Mas o que me chamou a atenção foi que o mesmo teste para ńúmeros do intervalo de um a dez milhões levou em Perl 1min 17seg (um minuto e desessete segundos).
Este script aqui em "PHP de terminal" fez a mesma tabulação no intervalo de um a dez milhões em 57seg (cinquenta e sete segundos).
Essa diferença de 20 segundos é muito significante para não ser notada. Se fosse em hardware mais antigo, seria uma eternidade.
PHP mais rápido que Perl para ser usado em terminal?? Ainda é pouco para comparação.
Falta testar acessos a recursos de sistema e ver até onde vai o poder de fogo de ambas as linguagens para tarefas similares.
Desde CGI, administração de sistemas e uso em aplicativos...
Pra variar, não sei se ainda pode ser melhorado, nem onde pode falhar. Aguardo por bugs.
Igual a Perl, Python e Shellscript.
Como o objetivo desta linguagem é ser uma página dinâmica de web (ou CGI, mais raro), essa observação passa por desapercebido.
Para rodar um script em PHP igual aos outros script, necessita-se de três coisas:
1ª Permissões de execução: "chmod +x ..."
2ª Colocar She-Bang na primeira linha: "#!/usr/bin/php"
3ª Todo o código deve estar entre as tags "<?php" e "?>".
O que estiver fora das tags será impresso na tela sem ser interpretado.
=================================================================
Este script tabula números primos. A contagem está marcada para o intervalo de 1 até 10000000 (dez milhões).
Um script em Perl de código muito similar tabulou aqui os ńúmeros do intervalo de um a um milhão em quase quatro segundos.
Este script fez o mesmo teste de um a um milhão em pouco menos de três, isto é um segundo a menos.
Mas o que me chamou a atenção foi que o mesmo teste para ńúmeros do intervalo de um a dez milhões levou em Perl 1min 17seg (um minuto e desessete segundos).
Este script aqui em "PHP de terminal" fez a mesma tabulação no intervalo de um a dez milhões em 57seg (cinquenta e sete segundos).
Essa diferença de 20 segundos é muito significante para não ser notada. Se fosse em hardware mais antigo, seria uma eternidade.
PHP mais rápido que Perl para ser usado em terminal?? Ainda é pouco para comparação.
Falta testar acessos a recursos de sistema e ver até onde vai o poder de fogo de ambas as linguagens para tarefas similares.
Desde CGI, administração de sistemas e uso em aplicativos...
Pra variar, não sei se ainda pode ser melhorado, nem onde pode falhar. Aguardo por bugs.
Descrição
Não é muito comentado, mas pode-se fazer scripts que rodem direto do terminal para tarefas corriqueiras em PHP.
Igual a Perl, Python e Shellscript.
Como o objetivo desta linguagem é ser uma página dinâmica de web (ou CGI, mais raro), essa observação passa por desapercebido.
Para rodar um script em PHP igual aos outros script, necessita-se de três coisas:
1ª Permissões de execução: "chmod +x ..."
2ª Colocar She-Bang na primeira linha: "#!/usr/bin/php"
3ª Todo o código deve estar entre as tags "<?php" e "?>".
O que estiver fora das tags será impresso na tela sem ser interpretado.
=================================================================
Este script tabula números primos. A contagem está marcada para o intervalo de 1 até 10000000 (dez milhões).
Um script em Perl de código muito similar tabulou aqui os ńúmeros do intervalo de um a um milhão em quase quatro segundos.
Este script fez o mesmo teste de um a um milhão em pouco menos de três, isto é um segundo a menos.
Mas o que me chamou a atenção foi que o mesmo teste para ńúmeros do intervalo de um a dez milhões levou em Perl 1min 17seg (um minuto e desessete segundos).
Este script aqui em "PHP de terminal" fez a mesma tabulação no intervalo de um a dez milhões em 57seg (cinquenta e sete segundos).
Essa diferença de 20 segundos é muito significante para não ser notada. Se fosse em hardware mais antigo, seria uma eternidade.
PHP mais rápido que Perl para ser usado em terminal?? Ainda é pouco para comparação.
Falta testar acessos a recursos de sistema e ver até onde vai o poder de fogo de ambas as linguagens para tarefas similares.
Desde CGI, administração de sistemas e uso em aplicativos...
Pra variar, não sei se ainda pode ser melhorado, nem onde pode falhar. Aguardo por bugs.
Igual a Perl, Python e Shellscript.
Como o objetivo desta linguagem é ser uma página dinâmica de web (ou CGI, mais raro), essa observação passa por desapercebido.
Para rodar um script em PHP igual aos outros script, necessita-se de três coisas:
1ª Permissões de execução: "chmod +x ..."
2ª Colocar She-Bang na primeira linha: "#!/usr/bin/php"
3ª Todo o código deve estar entre as tags "<?php" e "?>".
O que estiver fora das tags será impresso na tela sem ser interpretado.
=================================================================
Este script tabula números primos. A contagem está marcada para o intervalo de 1 até 10000000 (dez milhões).
Um script em Perl de código muito similar tabulou aqui os ńúmeros do intervalo de um a um milhão em quase quatro segundos.
Este script fez o mesmo teste de um a um milhão em pouco menos de três, isto é um segundo a menos.
Mas o que me chamou a atenção foi que o mesmo teste para ńúmeros do intervalo de um a dez milhões levou em Perl 1min 17seg (um minuto e desessete segundos).
Este script aqui em "PHP de terminal" fez a mesma tabulação no intervalo de um a dez milhões em 57seg (cinquenta e sete segundos).
Essa diferença de 20 segundos é muito significante para não ser notada. Se fosse em hardware mais antigo, seria uma eternidade.
PHP mais rápido que Perl para ser usado em terminal?? Ainda é pouco para comparação.
Falta testar acessos a recursos de sistema e ver até onde vai o poder de fogo de ambas as linguagens para tarefas similares.
Desde CGI, administração de sistemas e uso em aplicativos...
Pra variar, não sei se ainda pode ser melhorado, nem onde pode falhar. Aguardo por bugs.
#!/usr/bin/php
<?php
$primes = array (2, 3);
$i=5; $j=0; $k=0;
do {
$j = 0;
$k=sqrt($i);
while ($primes[++$j]<$k && ($i%$primes[$j]));
$primes[$j]>$k and array_push ($primes, $i);
$i+=(($i%3==2)?2:4);
} while ($i<10000000);
foreach ($primes as $j) {
echo "$j ";
}
echo "\n";
?>
Utilizar php para fazer scripts que rodam no terminal é funcional sim, porém dependendo do volume de informações com a qual iremos trabalhar, torna-se um pouco lenta, portanto devemos utilizar de recursos para suprir este desempenho um pouco inferior a outras linguagens em termos de desempenho em terminal.
Por outro lado (na minha opinião) é muito mais pratico desenvolver scripts em php pois já conheço consideravelmente a biblioteca de funções existentes para ser utilizadas na linguagem, sendo assim, reduzo bastante a possibilidade de reinventar a roda, e tenho muitas das vezes quase tudo pronto para a confecção de um script, bastando saber como e quando utilizar cada função.