UNPKG

reign

Version:

A persistent, typed-objects implementation.

86 lines (71 loc) 3.24 kB
"use strict"; var _ = require("./"); var _2 = _interopRequireDefault(_); var _buffer = require("../buffer"); var _buffer2 = _interopRequireDefault(_buffer); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('String Hashes', function () { var buf = new Buffer("hello worldy"); it('should hash a string value using the default hash function', function () { var input = "hello world"; (0, _2.default)(input).should.eql(1794106052); }); it('should hash a string value using the fnv hash function', function () { var input = "hello world"; (0, _.fnv)(input).should.eql(3582672807); }); it('should hash a string value using the djb hash function', function () { var input = "hello world"; (0, _.djb)(input).should.eql(894552257); }); it('should hash a string value using the murmur3 hash function', function () { var input = "hello world"; (0, _.murmur3)(input).should.eql(1586663183); }); benchmark("Default vs DJB", 10000, { default: function _default() { return (0, _2.default)("hello worldy"); }, djb: function djb() { return (0, _.djb)("hello worldy"); } }); benchmark("Default vs Murmur3", 10000, { default: function _default() { return (0, _2.default)("hello worldy"); }, murmur3: function murmur3() { return (0, _.murmur3)("hello worldy"); } }); benchmark("FNV vs Murmur3", 10000, { fnv: function fnv() { return (0, _.fnv)("hello worldy"); }, murmur3: function murmur3() { return (0, _.murmur3)("hello worldy"); } }); benchmark("String vs Buffer", 100000, { string: function string() { return (0, _2.default)("hello worldy"); }, buffer: function buffer() { return (0, _buffer2.default)(buf); } }); benchmark("Default string hash vs FNV vs DJB", 10000, { default: function _default() { return (0, _2.default)("foo bar 0") + (0, _2.default)("foo bar 1") + (0, _2.default)("foo bar 2") + (0, _2.default)("foo bar 3") + (0, _2.default)("foo bar 4") + (0, _2.default)("foo bar 5") + (0, _2.default)("foo bar 6") + (0, _2.default)("foo bar 7") + (0, _2.default)("foo bar 8") + (0, _2.default)("foo bar 9"); }, fnv: function fnv() { return (0, _.fnv)("foo bar 0") + (0, _.fnv)("foo bar 1") + (0, _.fnv)("foo bar 2") + (0, _.fnv)("foo bar 3") + (0, _.fnv)("foo bar 4") + (0, _.fnv)("foo bar 5") + (0, _.fnv)("foo bar 6") + (0, _.fnv)("foo bar 7") + (0, _.fnv)("foo bar 8") + (0, _.fnv)("foo bar 9"); }, djb: function djb() { return (0, _.djb)("foo bar 0") + (0, _.djb)("foo bar 1") + (0, _.djb)("foo bar 2") + (0, _.djb)("foo bar 3") + (0, _.djb)("foo bar 4") + (0, _.djb)("foo bar 5") + (0, _.djb)("foo bar 6") + (0, _.djb)("foo bar 7") + (0, _.djb)("foo bar 8") + (0, _.djb)("foo bar 9"); }, murmur3: function murmur3() { return (0, _.murmur3)("foo bar 0") + (0, _.murmur3)("foo bar 1") + (0, _.murmur3)("foo bar 2") + (0, _.murmur3)("foo bar 3") + (0, _.murmur3)("foo bar 4") + (0, _.murmur3)("foo bar 5") + (0, _.murmur3)("foo bar 6") + (0, _.murmur3)("foo bar 7") + (0, _.murmur3)("foo bar 8") + (0, _.murmur3)("foo bar 9"); } }); });