reign
Version:
A persistent, typed-objects implementation.
86 lines (71 loc) • 3.24 kB
JavaScript
;
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");
}
});
});