fork(1) download
  1. <?php
  2. function contar($texto){
  3. $array = array_filter(preg_split('/[\s\.\,]+/s', strtolower($texto)), function($palabra){
  4. if (in_array($palabra, ['loca', 'idiota', 'viagra'])) return $palabra;
  5. });
  6. foreach (array_count_values($array) as $k => $v);
  7. //No imprimo datos para no generar 1000 líneas de texto
  8. }
  9.  
  10. function autoSpam($txt){
  11. $cuenta = 0;
  12. $txt = explode(" ", $txt);
  13.  
  14. $noPermitidas = array('idiota','loca','viagra');
  15.  
  16. foreach ($txt as $word){
  17. foreach ($noPermitidas as $spam) {
  18. if(preg_match("/$spam/i",$word)){
  19. $cuenta++;
  20. }
  21. }
  22. }
  23. return $cuenta;
  24. }
  25.  
  26. $inicio = microtime(true) * 1000;
  27. for ($i = 0; $i < 1000; $i++) contar('la loCa del bosque era muy loca y entonces enloquecio muy LOCA mente. Locura');
  28. $fin = microtime(true) * 1000;
  29. echo 'Tiempo Alexis88: ' . ($fin - $inicio);
  30.  
  31. echo "\n";
  32.  
  33. $inicio = microtime(true) * 1000;
  34. for ($i = 0; $i < 1000; $i++) autoSpam('la loCa del bosque era muy loca y entonces enloquecio muy LOCA mente. Locura');
  35. $fin = microtime(true) * 1000;
  36. echo 'Tiempo GeekGirl: ' . ($fin - $inicio);
Success #stdin #stdout 0.09s 20520KB
stdin
Standard input is empty
stdout
Tiempo Alexis88: 35.2568359375
Tiempo GeekGirl: 50.4697265625