UNPKG

reign

Version:

A persistent, typed-objects implementation.

64 lines (52 loc) 2.38 kB
'use strict'; var _2 = require('./'); var _3 = _interopRequireDefault(_2); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('Buffer Hashes', function () { var bufs = Array.from({ length: 10 }, function (_, index) { return new Buffer('foo bar ' + index); }); it('should hash a buffer value using the default hash function', function () { var input = new Buffer("hello world"); (0, _3.default)(input).should.eql(1794106052); }); it('should hash a buffer value using the fnv hash function', function () { var input = new Buffer("hello world"); (0, _2.fnv)(input).should.eql(3582672807); }); it('should hash a buffer value using the djb hash function', function () { var input = new Buffer("hello world"); (0, _2.djb)(input).should.eql(894552257); }); it('should hash a buffer value using the murmur3 hash function', function () { var input = new Buffer("hello world"); (0, _2.murmur3)(input).should.eql(1586663183); }); benchmark("Default vs DJB", 10000, { default: function _default() { return (0, _3.default)(bufs[4]); }, djb: function djb() { return (0, _2.djb)(bufs[4]); } }); benchmark("Default vs Murmur3", 10000, { default: function _default() { return (0, _3.default)(bufs[4]); }, murmur3: function murmur3() { return (0, _2.murmur3)(bufs[4]); } }); benchmark("Default buffer hash vs FNV vs DJB", 10000, { default: function _default() { return (0, _3.default)(bufs[0]) + (0, _3.default)(bufs[1]) + (0, _3.default)(bufs[2]) + (0, _3.default)(bufs[3]) + (0, _3.default)(bufs[4]) + (0, _3.default)(bufs[5]) + (0, _3.default)(bufs[6]) + (0, _3.default)(bufs[7]) + (0, _3.default)(bufs[8]) + (0, _3.default)(bufs[9]); }, fnv: function fnv() { return (0, _2.fnv)(bufs[0]) + (0, _2.fnv)(bufs[1]) + (0, _2.fnv)(bufs[2]) + (0, _2.fnv)(bufs[3]) + (0, _2.fnv)(bufs[4]) + (0, _2.fnv)(bufs[5]) + (0, _2.fnv)(bufs[6]) + (0, _2.fnv)(bufs[7]) + (0, _2.fnv)(bufs[8]) + (0, _2.fnv)(bufs[9]); }, djb: function djb() { return (0, _2.djb)(bufs[0]) + (0, _2.djb)(bufs[1]) + (0, _2.djb)(bufs[2]) + (0, _2.djb)(bufs[3]) + (0, _2.djb)(bufs[4]) + (0, _2.djb)(bufs[5]) + (0, _2.djb)(bufs[6]) + (0, _2.djb)(bufs[7]) + (0, _2.djb)(bufs[8]) + (0, _2.djb)(bufs[9]); } }); });