hyb
hyb
``` inline int64_t tsc2ns(int64_t tsc) const { #if MULTI_THREAD_SDK while (true) { uint32_t before_seq = param_seq_.load(std::memory_order_acquire) & ~1; std::atomic_signal_fence(std::memory_order_acq_rel); int64_t ns = base_ns_ + (int64_t)((tsc - base_tsc_) * ns_per_tsc_); std::atomic_signal_fence(std::memory_order_acq_rel);...
most test case is only one hash map. pls add a new benchmark like this (many small hash maps) ``` template void multi_small_ife(const std::string& hash_name, const std::vector& vList) { #if...
the code is copyed from my bench https://github.com/ktprime/emhash/blob/master/bench/ebench.cpp
I find bench code, key and value(integer case) is alway same type (int-> int, size_t-> size, uint64_t->uint64_t) can u add or modify some case with pairs like ?
I think it's a good ideal to improve.
再次优化性能,发现一些bug并修复,在我的个人 项目上, 用hash分桶 实现另外一种定时器,性能和时间轮差别不大并成功应用到quic 项目的定时器中(定时器结构复用,hash不删除,只设置失效时间为0)
huangyuingdeMBP:benchmark huangyuanbing$ ./benchfindstr < data.txt bench_hash 0 sum: 44301000 avg lat: 5.00236 bench_hash 1 sum: 44301000 avg lat: 5.60526 bench_hash 2 sum: 44301000 avg lat: 4.78484 bench_hash 3 sum: 44301000...
I have clone your project(https://github.com/ktprime/str) and add my emhash into bench code(rand input), your solution is not alway fastest if input very large(n1 > 30000). huangyuingdeMBP:benchmark huangyuanbing$ ./benchfindint 40001 123456...
hyb@HYGPC171201001:/mnt/d/str/benchmark$ ./benchfindint 1001 100000 n1 = 1001 n2 = 100000 bench_hash 0 sum: 153361400 avg lat: 6.16645 bench_hash 1 sum: 153361400 avg lat: 5.96371 bench_hash 2 sum: 153361400 avg lat:...
> Sorry, I am not sure what you are asking for in the issue? Is there something you want to change or some other behavior you would prefer we use?...