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