fork(1) download
  1. <?php
  2.  
  3. $str = "23456789ABCDEGHJKMNPQRSTUVXYZabcdeghjkmnpqrstuvxyz";
  4. $excludes = ['cp','cb','ck','c6','c9','rn','rm','mm','co','do','cl','db','qp','qb','dp','ww'];
  5.  
  6. $t0 = microtime(true);
  7.  
  8. for ($i = 0; $i < 1000000; $i++)
  9. if (preg_match('/cp|cb|ck|c6|c9|rn|rm|mm|co|do|cl|db|qp|qb|dp|ww/', $str))
  10. break;
  11.  
  12. $t1 = microtime(true);
  13.  
  14. for ($i = 0; $i < 1000000; $i++)
  15. foreach($excludes as $ex)
  16. if (false !== strpos($str, $ex))
  17. break 2;
  18.  
  19. $t2 = microtime(true);
  20.  
  21. echo "regexp: " . ($t1 - $t0) . "\n";
  22. echo "strpos: " . ($t2 - $t1) . "\n";
  23.  
Success #stdin #stdout 1.05s 26392KB
stdin
Standard input is empty
stdout
regexp: 0.25063395500183
strpos: 0.7738139629364