hack のためのネタ帳, etc,,,


公式ページ等

ports

参考になるページ等

ベンチマーク

PHP

以下のスペックの 32bit 版 FreeBSD でテスト
$ sysctl hw.model hw.physmem
hw.model: Intel(R) Core(TM)2 CPU          6320  @ 1.86GHz
hw.physmem: 3743756288
CPU はこれかな? テストコード
<?php
$loops = 1000 * 1000;

$time1 = microtime(true);
$d = ""; for ($i = 0; $i < $loops; $i++) $d = md5($d);
$time2 = microtime(true);
echo "dtime: ".($time2 - $time1).", md5: ".$d."(".strlen($d).")<br>";

$time1 = microtime(true);
$d = ""; for ($i = 0; $i < $loops; $i++) $d = sha1($d);
$time2 = microtime(true);
echo "dtime: ".($time2 - $time1).", sha1: ".$d."(".strlen($d).")<br>";

$time1 = microtime(true);
$d = ""; for ($i = 0; $i < $loops; $i++) $d = blake2($d, 20);
$time2 = microtime(true);
echo "dtime: ".($time2 - $time1).", blake2: ".$d."(".strlen($d).")<br>";

$time1 = microtime(true);
$d = ""; for ($i = 0; $i < $loops; $i++) $d = blake2($d);
$time2 = microtime(true);
echo "dtime: ".($time2 - $time1).", blake2: ".$d."(".strlen($d).")<br>";
テスト結果
dtime: 1.18916893005, md5: 7701fe48b0fd88d6b732e9d06befa6df(32)
dtime: 1.47609019279, sha1: 4424d597c5f61d777e6a83a13f193021de939e94(40)
dtime: 9.23672509193, blake2: 81590aedeb4bb6aa061b7b154913807c8ae7e870(40)
dtime: 9.60150909424, blake2: 1fc0850852b0eb9dbacc7a5e829e08990573cbf19183e88697c36c149a3dfe92950051c833040d20ed7623b2a76bf551a9f7e6645e6448b0747ff87713907fdf(128)
MD5 や SHA1 より速いという謳い文句だったので期待していたのだが、
php-blake2 は 64bit 最適化版である BLAKE2b の実装のようなので 32bit 環境では本領発揮出来てないと言うことだろうか???
タグ

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます