bench.php 531 B

12345678910111213141516171819202122232425
  1. #!/usr/bin/env php
  2. <?php
  3. error_reporting(E_ALL);
  4. $data = str_repeat("\x00", (int) ($argv[1] ?? (2 * 1024)));
  5. $time = array();
  6. foreach (hash_algos() as $algo) {
  7. $time[$algo] = 0;
  8. }
  9. for ($j = 0; $j < 10; $j++) {
  10. foreach (hash_algos() as $algo) {
  11. $start = hrtime(true);
  12. for ($i = 0; $i < 1000; $i++) {
  13. hash($algo, $data);
  14. }
  15. $time[$algo] += hrtime(true)-$start;
  16. }
  17. }
  18. asort($time, SORT_NUMERIC);
  19. foreach ($time as $a => $t) {
  20. printf("%-12s %02.6f\n", $a, $t/1000000000);
  21. }