🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

node-murmurhash

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-murmurhash - npm Package Compare versions

Comparing version

to
2.0.1

6

History.md
2.0.1 / 2015-07-21
==================
* remove `& 0xff` when retrive byte (@alsotang)
* simple benchmark. clean code.
2.0.0 / 2015-04-20

@@ -3,0 +9,0 @@ ==================

20

lib/murmur.js

@@ -22,3 +22,3 @@ /**!

// @zhangzifa: 大于127的数, 在c里面的负数, 表示成0xffffffxx才成
// @zhangzifa: c语言中,大于127的char, 在转成 int 时, 表示成0xffffffxx的形式
var NEGTIVE_MAP = [

@@ -61,17 +61,17 @@ 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa, 0xb,

function murmurhash2js(key, seed) {
if (typeof seed !== 'number') {
seed = 97;
}
var l = key.length;
var h = seed ^ l;
var i = 0;
var k = null;
var k = 0;
while (l >= 4) {
k = ((key[i] & 0xff)) |
((key[++i] & 0xff) << 8) |
((key[++i] & 0xff) << 16) |
((key[++i] & 0xff) << 24);
k = (key[i] |
(key[i + 1] << 8) |
(key[i + 2] << 16) |
(key[i + 3] << 24));
// js 中,Number 能表示的最高精度整数是 (2 ** 53 - 1),
// 此处两个 32 位整数相乘时,有可能产生 64 位的结果,导致精度丢失。
k = (((k & 0xffff) * MURMURHASH_M) + ((((k >>> 16) * MURMURHASH_M) & 0xffff) << 16));
k ^= k >>> 24;

@@ -83,3 +83,3 @@ k = (((k & 0xffff) * MURMURHASH_M) + ((((k >>> 16) * MURMURHASH_M) & 0xffff) << 16));

l -= 4;
++i;
i += 4;
}

@@ -86,0 +86,0 @@

{
"name": "node-murmurhash",
"version": "2.0.0",
"version": "2.0.1",
"description": "murmurhash V2, support utf8 Buffer",

@@ -5,0 +5,0 @@ "main": "lib/murmurhash.js",

@@ -45,6 +45,16 @@ node-murmurhash

@see [benchmark.md](benchmark.md)
```
cpu: 1.4 GHz Intel Core i5
node version: v2.3.0, date: Tue Jul 21 2015 17:35:09 GMT+0800 (CST)
Starting...
2 tests completed.
murmurhash(new Buffer('haha, this is key')) x 6,626,182 ops/sec ±1.89% (80 runs sampled)
murmurhash(new Buffer('hello 中国')) x 8,510,543 ops/sec ±2.24% (80 runs sampled)
```
see also: [benchmark.md](benchmark.md)
## License
[MIT](LICENSE.txt)