-
-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Refactor hashtable use linear probing #15
Commits on May 31, 2020
-
Initial implementation of the hash search algorithm in the array with…
… 14 entries with AVX512, AVX2, SSE4 and a simple linear search support
Configuration menu - View commit details
-
Copy full SHA for bfc66a6 - Browse repository at this point
Copy the full SHA bfc66a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55d89e2 - Browse repository at this point
Copy the full SHA 55d89e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03e881f - Browse repository at this point
Copy the full SHA 03e881fView commit details -
Initial benchmarking support for the hashtable_support_hash_search_{a…
…vx512,avx2,sse4,loop} functions, not fully tested
Configuration menu - View commit details
-
Copy full SHA for 20f7a9d - Browse repository at this point
Copy the full SHA 20f7a9dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 248be49 - Browse repository at this point
Copy the full SHA 248be49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6722f40 - Browse repository at this point
Copy the full SHA 6722f40View commit details -
Rename HASHTABLE_INLINE_KEY_MAX_SIZE to HASHTABLE_KEY_INLINE_MAX_LENG…
…TH to match the naming convention
Configuration menu - View commit details
-
Copy full SHA for a80afd5 - Browse repository at this point
Copy the full SHA a80afd5View commit details -
Add support to store a rpefix of the key into the KV structure to be …
…used during the search phase to speed up the lookup
Configuration menu - View commit details
-
Copy full SHA for d224862 - Browse repository at this point
Copy the full SHA d224862View commit details -
Configuration menu - View commit details
-
Copy full SHA for 520370b - Browse repository at this point
Copy the full SHA 520370bView commit details -
Drop gcc builtins to make the code more portable, drop the preferred …
…instruction set variable to hint which instruction set should be selected
Configuration menu - View commit details
-
Copy full SHA for 3f4c92c - Browse repository at this point
Copy the full SHA 3f4c92cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0726c6b - Browse repository at this point
Copy the full SHA 0726c6bView commit details -
Replace avx2 search algorithm implementation with the branchless prov…
…ided by @chtz ( https://stackoverflow.com/a/62123631/169278 )
Configuration menu - View commit details
-
Copy full SHA for 30e13c2 - Browse repository at this point
Copy the full SHA 30e13c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for b0a76cb - Browse repository at this point
Copy the full SHA b0a76cbView commit details
Commits on Jun 1, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 494e0f1 - Browse repository at this point
Copy the full SHA 494e0f1View commit details -
Refactor the code to better test the two search implementation, in th…
…e real world they don't get to perform exactly X searches on exactly the same data exactly sequentially, this approach regenerates the data each time and is more realistic
Configuration menu - View commit details
-
Copy full SHA for 1449d42 - Browse repository at this point
Copy the full SHA 1449d42View commit details -
Split out the avx2/loop hash search algorithm implementation into the…
…ir own files, need to properly handle AVX2 compilation flags targetted per src file
Configuration menu - View commit details
-
Copy full SHA for e300fcb - Browse repository at this point
Copy the full SHA e300fcbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 33bb3e9 - Browse repository at this point
Copy the full SHA 33bb3e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 08341c0 - Browse repository at this point
Copy the full SHA 08341c0View commit details
Commits on Jun 2, 2020
-
Configuration menu - View commit details
-
Copy full SHA for b196a46 - Browse repository at this point
Copy the full SHA b196a46View commit details -
Configuration menu - View commit details
-
Copy full SHA for dfe2963 - Browse repository at this point
Copy the full SHA dfe2963View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32103ac - Browse repository at this point
Copy the full SHA 32103acView commit details -
Configuration menu - View commit details
-
Copy full SHA for cd87975 - Browse repository at this point
Copy the full SHA cd87975View commit details -
Add the AVX version of the search algorithm to the benches and simpli…
…fy the define containing the main bench
Configuration menu - View commit details
-
Copy full SHA for 86c8716 - Browse repository at this point
Copy the full SHA 86c8716View commit details -
Rename TARGET_ARCH in CACHEGRAND_ARCH_TARGET, rename version.* in cma…
…ke_config.*, rename version.cmake module in cmake_config.cmake, improve message logging, add a custom target to automatically update the cmake_config.c file on every build to correctly update the build date/time
Configuration menu - View commit details
-
Copy full SHA for 22c33d7 - Browse repository at this point
Copy the full SHA 22c33d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 71a0928 - Browse repository at this point
Copy the full SHA 71a0928View commit details -
Reorganise the cmake_config.h file and fix cpp support (when included…
… via benches or testing)
Configuration menu - View commit details
-
Copy full SHA for aed75ea - Browse repository at this point
Copy the full SHA aed75eaView commit details -
Configuration menu - View commit details
-
Copy full SHA for bf482bf - Browse repository at this point
Copy the full SHA bf482bfView commit details -
Update the src cmakefile script to use the new cmake_config_c exposed…
… variables to include the re-generated file at build time
Configuration menu - View commit details
-
Copy full SHA for 6343ad6 - Browse repository at this point
Copy the full SHA 6343ad6View commit details
Commits on Jun 6, 2020
-
Configuration menu - View commit details
-
Copy full SHA for 21f4898 - Browse repository at this point
Copy the full SHA 21f4898View commit details -
Select the right hash search implementation when the hashtable is ini…
…tialized, add a static variable to ensure the code is executed only once
Configuration menu - View commit details
-
Copy full SHA for fb5ad77 - Browse repository at this point
Copy the full SHA fb5ad77View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8a1d00f - Browse repository at this point
Copy the full SHA 8a1d00fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ef46fb - Browse repository at this point
Copy the full SHA 7ef46fbView commit details -
Refactor the data structures to support chains of rings containing 14…
… slots (half hashes / key-values) in the buckets, add a mapping for the int128_t and uint128_t types and their related atomic version
Configuration menu - View commit details
-
Copy full SHA for 4b3ecf3 - Browse repository at this point
Copy the full SHA 4b3ecf3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0a6e118 - Browse repository at this point
Copy the full SHA 0a6e118View commit details -
Refactor the get operation and the support operations (slot hash / ke…
…y search) for the get operation
Configuration menu - View commit details
-
Copy full SHA for 472dcdb - Browse repository at this point
Copy the full SHA 472dcdbView commit details -
Configuration menu - View commit details
-
Copy full SHA for c7da799 - Browse repository at this point
Copy the full SHA c7da799View commit details -
Configuration menu - View commit details
-
Copy full SHA for 324f6c4 - Browse repository at this point
Copy the full SHA 324f6c4View commit details
Commits on Jun 7, 2020
-
Update the get op benchmark of the hashtable to support the new struc…
…ture and catch failures
Configuration menu - View commit details
-
Copy full SHA for 699fc98 - Browse repository at this point
Copy the full SHA 699fc98View commit details -
Configuration menu - View commit details
-
Copy full SHA for a09ae9a - Browse repository at this point
Copy the full SHA a09ae9aView commit details -
Drop clang support (it's necessary to stick with gcc to emit cmpxchg1…
…6b using the __sync builtins)
Configuration menu - View commit details
-
Copy full SHA for ad2c718 - Browse repository at this point
Copy the full SHA ad2c718View commit details -
Configuration menu - View commit details
-
Copy full SHA for efea617 - Browse repository at this point
Copy the full SHA efea617View commit details -
Add a prefix_key struct in the hastable_bucket_key_value struct and u…
…pdate the code to use that instead of key_prefix in external_key
Configuration menu - View commit details
-
Copy full SHA for 4a3b82d - Browse repository at this point
Copy the full SHA 4a3b82dView commit details -
Configuration menu - View commit details
-
Copy full SHA for f99cb38 - Browse repository at this point
Copy the full SHA f99cb38View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac770ff - Browse repository at this point
Copy the full SHA ac770ffView commit details -
When compiling code for debugging disable inlineing and any kind of o…
…ptimization - wrong file included by mistake (the benches for the hash search have been updated to support the skip_index_mask)
Configuration menu - View commit details
-
Copy full SHA for 3438f46 - Browse repository at this point
Copy the full SHA 3438f46View commit details -
Configuration menu - View commit details
-
Copy full SHA for cafbfd7 - Browse repository at this point
Copy the full SHA cafbfd7View commit details -
Implement bucket locking, unlocking and fetching with write lock (use…
… __sync builtins for atomic to force gcc to emit the cmpxhg16 instruction in-line)
Configuration menu - View commit details
-
Copy full SHA for 100a585 - Browse repository at this point
Copy the full SHA 100a585View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ae7c03 - Browse repository at this point
Copy the full SHA 6ae7c03View commit details -
Configuration menu - View commit details
-
Copy full SHA for 05fa6ca - Browse repository at this point
Copy the full SHA 05fa6caView commit details -
Configuration menu - View commit details
-
Copy full SHA for b830c4b - Browse repository at this point
Copy the full SHA b830c4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f2372e - Browse repository at this point
Copy the full SHA 0f2372eView commit details -
Expose if the bucket has been initialized upon the invocation of hash…
…table_support_op_bucket_fetch_and_write_lock
Configuration menu - View commit details
-
Copy full SHA for a93fad5 - Browse repository at this point
Copy the full SHA a93fad5View commit details -
Configuration menu - View commit details
-
Copy full SHA for a93b65b - Browse repository at this point
Copy the full SHA a93b65bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 352efbf - Browse repository at this point
Copy the full SHA 352efbfView commit details -
Configuration menu - View commit details
-
Copy full SHA for eced0ee - Browse repository at this point
Copy the full SHA eced0eeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6adf743 - Browse repository at this point
Copy the full SHA 6adf743View commit details -
Configuration menu - View commit details
-
Copy full SHA for 23049a8 - Browse repository at this point
Copy the full SHA 23049a8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1cf4cbc - Browse repository at this point
Copy the full SHA 1cf4cbcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 293ad18 - Browse repository at this point
Copy the full SHA 293ad18View commit details
Commits on Jun 8, 2020
-
Update how the t1ha library is built, includes t1ha0, t1ha1 and t1ha…
…2, including the support for aesni/avx/avx2 accelerated algorithm
Configuration menu - View commit details
-
Copy full SHA for b60bfc6 - Browse repository at this point
Copy the full SHA b60bfc6View commit details -
Configuration menu - View commit details
-
Copy full SHA for b59fab5 - Browse repository at this point
Copy the full SHA b59fab5View commit details -
Fix how the avx2/avx search algorithm gets build, if it's on x86_64 t…
…he compiler will always able to emit avx2/avx instructions
Configuration menu - View commit details
-
Copy full SHA for 4cc7695 - Browse repository at this point
Copy the full SHA 4cc7695View commit details -
Implement the search algorithms for the 8 slots version and use ifunc…
… instead of function pointers to pick the best implementation option at runtime
Configuration menu - View commit details
-
Copy full SHA for d2e10e1 - Browse repository at this point
Copy the full SHA d2e10e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e6af66 - Browse repository at this point
Copy the full SHA 5e6af66View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6276d49 - Browse repository at this point
Copy the full SHA 6276d49View commit details -
Lock always before checkinf the chain_first_ring is null to avoid edg…
…e cases that would case slowdowns
Configuration menu - View commit details
-
Copy full SHA for 2e4e6e8 - Browse repository at this point
Copy the full SHA 2e4e6e8View commit details -
Fix the search or create key (hashtable_support_op_search_key_or_crea…
…te_new) function
Configuration menu - View commit details
-
Copy full SHA for af18d87 - Browse repository at this point
Copy the full SHA af18d87View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1623cd1 - Browse repository at this point
Copy the full SHA 1623cd1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78ee645 - Browse repository at this point
Copy the full SHA 78ee645View commit details -
Update the hashtable support hash search benchmark to use the new nam…
…e convention for the methods and move the shared code to an external support c file
Configuration menu - View commit details
-
Copy full SHA for 2a2ab70 - Browse repository at this point
Copy the full SHA 2a2ab70View commit details -
Configuration menu - View commit details
-
Copy full SHA for 55bf660 - Browse repository at this point
Copy the full SHA 55bf660View commit details -
Configuration menu - View commit details
-
Copy full SHA for 11d9a70 - Browse repository at this point
Copy the full SHA 11d9a70View commit details -
Configuration menu - View commit details
-
Copy full SHA for cd9e3fc - Browse repository at this point
Copy the full SHA cd9e3fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 66d3c98 - Browse repository at this point
Copy the full SHA 66d3c98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c4372e - Browse repository at this point
Copy the full SHA 2c4372eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ab5104b - Browse repository at this point
Copy the full SHA ab5104bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c879f37 - Browse repository at this point
Copy the full SHA c879f37View commit details -
Fix index variable type and fix how the hashtable is prefilled with t…
…he keys for the update bench
Configuration menu - View commit details
-
Copy full SHA for 561154f - Browse repository at this point
Copy the full SHA 561154fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5151349 - Browse repository at this point
Copy the full SHA 5151349View commit details -
Configuration menu - View commit details
-
Copy full SHA for 59d0640 - Browse repository at this point
Copy the full SHA 59d0640View commit details -
Rename the support function in the hashtable set bench and share the …
…collect hashtable stats and update state code
Configuration menu - View commit details
-
Copy full SHA for 3cb9501 - Browse repository at this point
Copy the full SHA 3cb9501View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5248f3a - Browse repository at this point
Copy the full SHA 5248f3aView commit details -
Refactor the hashtable to use linear probing, add support to embed ke…
…y/values onto the bucket and add support disabling the locks (switch to atomic operations)
Configuration menu - View commit details
-
Copy full SHA for 33c17c5 - Browse repository at this point
Copy the full SHA 33c17c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for dd05e1e - Browse repository at this point
Copy the full SHA dd05e1eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1fdbf4f - Browse repository at this point
Copy the full SHA 1fdbf4fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b2b1e4 - Browse repository at this point
Copy the full SHA 0b2b1e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for be352e0 - Browse repository at this point
Copy the full SHA be352e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f1ef1a - Browse repository at this point
Copy the full SHA 0f1ef1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a891287 - Browse repository at this point
Copy the full SHA a891287View commit details