hot icon indicating copy to clipboard operation
hot copied to clipboard

Is there anyone run it ok?

Open renjc0816 opened this issue 3 years ago • 2 comments

I tried the 'Getting Started' and failed in 'Initialize the submodules'. Than i changed the '.gitmodules' and 'CMakeLists.txt' . But the//Boost download URL BOOST_URL:STRING=https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2 in CMakeCache.txt is 403 forbiden. So i changed it into https://boostorg.jfrog.io/ui/native/main/release/1.77.0/source/boost_1_77_0.tar.bz2 with corresponding hash. It downloaded successfully but crashed here again :third-party/boost-cmake/CMakeLists.txt:11 (include) refer to CMakeList.txt if(NOT CMAKE_BUILD_TYPE) set(CMAKE_BUILD_TYPE Release) endif(). In fact all the CMakeList.txt in file i have tried to cmake and none okay. so..how can i run the code?

renjc0816 avatar Sep 07 '21 13:09 renjc0816

you should change hot/third-party/boost-cmake/CMakeLists.txt, not that CMakeLists.txt you mentioned

set(BOOST_URL "https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.bz2" CACHE STRING "Boost download URL")
set(BOOST_URL_SHA256 "475d589d51a7f8b3ba2ba4eda022b170e562ca3b760ee922c146b6c65856ef39" CACHE STRING "Boost download URL SHA256 checksum")

change the two lines as you did

l-iberty avatar Apr 24 '22 04:04 l-iberty

I was able to after major surgery by removing everything from cmake except the single threaded trie code. I removed all the submodules. I installed boost with apt. I also had to disable a lot of C++ warnings; there are a lot if one turns on -Wall, -Wpendantic -Wextra.

After futzing around with all this, I was able to run 4,545,921 find/insertions on strings containing 569,785 unique values with 236ns/op insert, and 82ns/find on a Xeon E-2278G 3.4Ghz. Average keysize was 6.3 chars using this dictionary file: https://www.gutenberg.org/cache/epub/29765/pg29765.txt

In my case I know the length of the strings (no need for strlen). I probably can use SIMD to do a faster compare than strcmp. I also have not plugged in Microsoft's mimalloc library, which is supposed to outperform most of the alternatives (jemalloc etc.). I haven't done any of these optimizations.

My code is here: https://github.com/rodgarrison/kvbench

If I can get insert to run at < 100ns this trie code would run at the same order of 10 as hashing. Currently Facebooks F14 hash is the best if I know of. F14's does the same work with 31ns/op insert, and 27ns/op find.

gshanemiller avatar Jun 05 '22 18:06 gshanemiller