bench.php 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <?php
  2. /* $Id$ */
  3. /*
  4. This gives rather interesting results :)
  5. Measures on a Notebook P4M-1.7 256MB Windows 2000:
  6. sha1 0.556691
  7. tiger160,3 0.774469
  8. tiger192,3 0.776314
  9. tiger128,3 0.777004
  10. ripemd128 0.896674
  11. sha256 1.011164
  12. md5 1.016032
  13. tiger160,4 1.056617
  14. tiger128,4 1.063101
  15. tiger192,4 1.069258
  16. haval160,3 1.125099
  17. haval128,3 1.125679
  18. haval224,3 1.128017
  19. haval192,3 1.130026
  20. haval256,3 1.134846
  21. ripemd160 1.150693
  22. haval128,4 1.686261
  23. haval192,4 1.687274
  24. haval160,4 1.693091
  25. haval256,4 1.699323
  26. haval224,4 1.743094
  27. haval160,5 2.003452
  28. haval192,5 2.008341
  29. haval256,5 2.009048
  30. haval128,5 2.009555
  31. haval224,5 2.015539
  32. sha384 3.370734
  33. sha512 3.381121
  34. whirlpool 6.912327
  35. snefru 9.268168
  36. Measures on a Desktop P4-2.4 512MB Debian (Linux-2.4):
  37. md5 0.147739
  38. haval128,3 0.317006
  39. haval192,3 0.317524
  40. haval256,3 0.317526
  41. haval160,3 0.323035
  42. haval224,3 0.333318
  43. ripemd128 0.353447
  44. sha1 0.376200
  45. ripemd160 0.413758
  46. sha256 0.435957
  47. haval160,4 0.452357
  48. haval224,4 0.454531
  49. haval128,4 0.458026
  50. haval256,4 0.459051
  51. haval192,4 0.468094
  52. haval128,5 0.524262
  53. haval160,5 0.529573
  54. haval224,5 0.533655
  55. haval256,5 0.534446
  56. haval192,5 0.543726
  57. tiger128,3 0.577975
  58. tiger160,3 0.579951
  59. tiger192,3 0.597111
  60. tiger192,4 0.781408
  61. tiger160,4 0.801243
  62. tiger128,4 0.812239
  63. sha512 1.298627
  64. sha384 1.313607
  65. whirlpool 1.556159
  66. snefru 5.703742
  67. */
  68. error_reporting(E_ALL&~E_NOTICE);
  69. $data = file_get_contents(__FILE__);
  70. $time = array();
  71. for ($j = 0; $j < 10; $j++) {
  72. foreach (hash_algos() as $algo) {
  73. $start = microtime(true);
  74. for ($i = 0; $i < 1000; $i++) {
  75. hash($algo, $data);
  76. }
  77. $time[$algo] += microtime(true)-$start;
  78. }
  79. }
  80. asort($time, SORT_NUMERIC);
  81. foreach ($time as $a => $t) {
  82. printf("%-12s %02.6f\n", $a, $t);
  83. }
  84. ?>