md5.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*!
  2. * utility - benchmark/md5.js
  3. *
  4. * Copyright(c) 2013 fengmk2 <fengmk2@gmail.com>
  5. * MIT Licensed
  6. */
  7. "use strict";
  8. /**
  9. * Module dependencies.
  10. */
  11. var utils = require('../');
  12. var Benchmark = require('benchmark');
  13. var suite = new Benchmark.Suite();
  14. console.log("utils.md5({foo: 'bar', bar: 'foo', v: [1, 2, 3]})", utils.md5({foo: 'bar', bar: 'foo', v: [1, 2, 3]}));
  15. console.log("utils.md5(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]}))",
  16. utils.md5(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]})));
  17. console.log("utils.md5('苏千')", utils.md5('苏千'));
  18. console.log("utils.sha1({foo: 'bar', bar: 'foo', v: [1, 2, 3]})", utils.sha1({foo: 'bar', bar: 'foo', v: [1, 2, 3]}));
  19. console.log("utils.sha1(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]}))",
  20. utils.sha1(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]})));
  21. console.log("utils.sha1('苏千')", utils.sha1('苏千'));
  22. console.log('------------- %s -----------', Date());
  23. suite
  24. .add("utils.md5({foo: 'bar', bar: 'foo', v: [1, 2, 3]})", function () {
  25. utils.md5({foo: 'bar', bar: 'foo', v: [1, 2, 3]});
  26. })
  27. .add("utils.md5(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]})))", function () {
  28. utils.md5(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]}));
  29. })
  30. .add("utils.md5('苏千')", function () {
  31. utils.md5('苏千');
  32. })
  33. .add("utils.sha1({foo: 'bar', bar: 'foo', v: [1, 2, 3]})", function () {
  34. utils.sha1({foo: 'bar', bar: 'foo', v: [1, 2, 3]});
  35. })
  36. .add("utils.sha1(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]})))", function () {
  37. utils.sha1(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]}));
  38. })
  39. .add("utils.sha1('苏千')", function () {
  40. utils.sha1('苏千');
  41. })
  42. // add listeners
  43. .on('cycle', function (event) {
  44. console.log(String(event.target));
  45. })
  46. .on('complete', function () {
  47. console.log('Fastest is ' + this.filter('fastest').pluck('name'));
  48. })
  49. .run({ async: false });
  50. // $ node benchmark/md5.js
  51. // utils.md5({foo: 'bar', bar: 'foo', v: [1, 2, 3]}) 079a571be06a7845409f8fc91647b0f4
  52. // utils.md5(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]})) ab6697805af372cbfe1ea3227e8ac304
  53. // utils.md5('苏千') 5f733c47c58a077d61257102b2d44481
  54. // utils.sha1({foo: 'bar', bar: 'foo', v: [1, 2, 3]}) 0a44d8b7712ee1da7be00c3046f0d852ced14f41
  55. // utils.sha1(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]})) 7cea654dc053a1ecb8ae4edaafb14011d408be5c
  56. // utils.sha1('苏千') 0a4aff6bab634b9c2f99b71f25e976921fcde5a5
  57. // ------------- Wed May 07 2014 14:59:24 GMT+0800 (CST) -----------
  58. // utils.md5({foo: 'bar', bar: 'foo', v: [1, 2, 3]}) x 192,534 ops/sec ±3.44% (92 runs sampled)
  59. // utils.md5(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]}))) x 303,061 ops/sec ±1.71% (88 runs sampled)
  60. // utils.md5('苏千') x 426,337 ops/sec ±5.13% (81 runs sampled)
  61. // utils.sha1({foo: 'bar', bar: 'foo', v: [1, 2, 3]}) x 198,976 ops/sec ±1.24% (99 runs sampled)
  62. // utils.sha1(JSON.stringify({foo: 'bar', bar: 'foo', v: [1, 2, 3]}))) x 305,395 ops/sec ±1.67% (90 runs sampled)
  63. // utils.sha1('苏千') x 449,135 ops/sec ±4.32% (84 runs sampled)