MD5 Shootout (v79)

Revision 79 of this benchmark created by emn178 on


Description

This does a simple comparison of a number of JS implementations of the MD5 algorithm.

Preparation HTML

<script src="https://chrismatic.io/yamd5.js"></script>
<script src="https://rawgit.com/satazor/SparkMD5/master/spark-md5.min.js"></script>
<script src="https://rawgit.com/iReal/FastMD5/master/lib/md5.js"></script>
<script>
fast_md5 = md5;
md5 = null;
</script>
<script src="https://rawgit.com/emn178/js-md5/master/src/md5.js"></script>
<script>
js_md5 = md5;
md5 = null;
</script>
<script src="https://rawgit.com/blueimp/JavaScript-MD5/master/js/md5.min.js"></script>
<script>
javascript_md5 = md5;
md5 = null;
</script>

Setup

var str = 'The quick brown fox jumps over the lazy dog.';
    var str2 = 'Около 863 года братья Константин (Кирилл) Философ и Мефодий из Солуни (Салоники) по приказу византийского императора Михаила III упорядочили письменность для старославянского языка и использовали новую азбуку для перевода на славянский язык греческих религиозных текстов[2]:44. Долгое время дискуссионным оставался вопрос, была ли это кириллица (и в таком случае глаголицу считают тайнописью, появившейся после запрещения кириллицы) или глаголица — азбуки, различающиеся почти исключительно начертанием. В настоящее время в науке преобладает точка зрения, согласно которой глаголица первична, а кириллица вторична (в кириллице глаголические буквы заменены на известные греческие). Глаголица длительное время в несколько изменённом виде употреблялась у хорватов (до XVII в). Появление кириллицы, основывающейся на греческом уставном (торжественном) письме — унциале[2]:45, связывают с деятельностью болгарской школы книжников (после Кирилла и Мефодия). В частности, в житии св. Климента Охридского прямо пишется о создании им славянской письменности уже после Кирилла и Мефодия. Благодаря предыдущей деятельности братьев азбука получила широкое распространение в южнославянских землях, что привело в 885 году к запрещению её использования в церковной службе римским папой, боровшимся с результатами миссии Константина-Кирилла и Мефодия.';
    var str3 = '訊息摘要演算法第五版(英語:Message-Digest Algorithm 5,縮寫為MD5)';

Test runner

Ready to run.

Testing in
TestOps/sec
CYaMD5
CYaMD5.hashStr(str);
CYaMD5.hashStr(str2);
CYaMD5.hashStr(str3);
ready
FastMD5
fast_md5(str);
fast_md5(str2);
fast_md5(str3);
ready
js-md5
js_md5(str);
js_md5(str2);
js_md5(str3);
ready
JavaScript MD5
javascript_md5(str);
javascript_md5(str2);
javascript_md5(str3);
ready
SparkMD5
SparkMD5.hash(str);
SparkMD5.hash(str2);
SparkMD5.hash(str3);
ready

Revisions

You can edit these tests or add more tests to this page by appending /edit to the URL.