Comments (9)
done
from wyhash.
And I want to sincerely say some sorry to @Cyan4973. I am just a childish person at age of 40 ...
from wyhash.
it's time to copy a separate wyhash_v5.h
?
from wyhash.
done. and let's wait a few days to update the stream version.
from wyhash.
many warnings
from 'long unsigned int' to 'long long int' [-Wnarrowing]
should use explicit conversions instead, e.g. (int64_t)seed
, (int64_t)secret[x]
PS: better to add v5 to benchmark, in some old hardwares, short keys seems faster on v5
from wyhash.
done.
from wyhash.
wyhash crash v6
Program received signal SIGSEGV, Segmentation fault.
_wyhash (key=, len=, seed=8383780068391013234, secret=secret@entry=0x44c860 <_wyp>) at wyhash.h:102
102 __m128i d[8]={_mm_loadu_si128((__m128i*)p),_mm_loadu_si128((__m128i*)(p+16)),_mm_loadu_si128((__m128i*)(p+32)),_mm_loadu_si128((__m128i*)(p+48)),
(gdb) bt
#0 _wyhash (key=, len=, seed=8383780068391013234, secret=secret@entry=0x44c860 <_wyp>) at wyhash.h:102
#1 0x000000000042ad03 in wyhash (seed=, len=, key=) at wyhash.h:123
#2 emhash6::HashMap<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >::hash_bucket<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, 0u> (key=<error: Cannot access memory at address 0xffffffffffffffff>, this=0x7fffffffe270) at hash_table56.hpp:1632
#3 emhash6::HashMap<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >::rehash (this=this@entry=0x7fffffffe270,
required_buckets=required_buckets@entry=6) at hash_table56.hpp:1113
#4 0x00000000004053d5 in emhash6::HashMap<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >::reserve (num_elems=4, this=0x7fffffffe270)
at hash_table56.hpp:1060
#5 emhash6::HashMap<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >::init (load_factor=0.949999988, bucket=4, this=0x7fffffffe270)
at hash_table56.hpp:345
#6 emhash6::HashMap<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int, std::hash<std::__cxx11::basic_string<char, std::char_traits, std::allocator > >, std::equal_to<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >::HashMap (load_factor=0.949999988, bucket=4, this=0x7fffffffe270)
at hash_table56.hpp:350
#7 main (argc=1, argv=0x7fffffffe408) at mbench.cpp:970
from wyhash.
what does these information mean? could you explain it to us :-)
from wyhash.
wyhash v6 in used int my hash map. I change the code and use the follow:
static inline uint64_t wyhash(const void* key, uint64_t len, uint64_t seed){ uint64_t h=_wyhash(key,len,seed,_wyp)^len; return _wymum(h,h^_wyp[9]);}
from wyhash.
Related Issues (20)
- v4 has even more bad seeds HOT 5
- Benchmark not measuring what you expect
- How do you use practrand? HOT 2
- License issue
- Using wyhash64 to mix numbers into prngs? HOT 5
- New release for wy_hash_final4?
- WyRand fails 64-bit 1-dimensional collision tests HOT 14
- Streaming hash HOT 1
- `make_secret` but for strings or other data
- Link to absl's wyhash implement seems to be changed. HOT 1
- WyRand64 (bit reversed) fails PractRand at 32TB HOT 3
- Question about wymum HOT 1
- Full round for every multiple 48-bytes, including last one HOT 1
- Secret seeds and primes HOT 4
- sprp and is_prime should be static inline?
- c-string optimized version?
- wy2u0k returns [1, k] instead of [0, k) when WYHASH_CONDOM=2
- wyhash election started HOT 1
- 是否可能给函数更多的熵 HOT 2
- Is wy2u01 mistakenly not making use of all 53 bits?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from wyhash.