I do a lot instrumentation with SanitizerCoverage in gcc/llvm in C that requires intensive hash table lookups. Are Swiss Tables still fast if you jump through enough hoops to use them from C? I tested, and yes, they're that good https://github.com/taviso/swisstable … 
-
-
Replying to @taviso
Also, why no type safety? e.g.: struct swisstable * swisstable_set_create(void); Where 'struct swisstable *' is never defined externally, so its implementation is opaque.
2 replies 0 retweets 2 likes -
Replying to @ErrataRob @taviso
Also, why no 'const' correctness: void * swisstable_map_search(void *root, void *key, size_t keysize); vs. void * swisstable_map_search(const void *root, const void *key, size_t keysize); Does the 'search' function write to the key? Does it it write to hashmap?
3 replies 0 retweets 1 like -
-
Damn. I'm willing to do so when I get back from my walk if you want :-). I think this would be a good effort.
1 reply 0 retweets 7 likes -
Replying to @ErrataRob @bitsrot
That would be very welcome! I just spent a couple of hours on this today to see if it would be worth it, I think it will be and plan to keep working on it
2 replies 0 retweets 3 likes -
Bah. Sorry, I'd love to play with it and do some benchmarks, as it's exactly the sort of thing I'd love to play with, but Abseil's dependency wall is just too high to climb.
1 reply 0 retweets 0 likes -
Replying to @ErrataRob @bitsrot
Hmm, it needs c++17 for for string_view (e.g. gcc7 otherwise you have to copy a lot of buffers around to translate between c/c++), otherwise that's it. I could make it optional, then I think any old gcc will do, but it will be much slower..
2 replies 0 retweets 1 like
Actually, I think I can work around it, I'll work on it this weekend. I think you must be using an old gcc, because otherwise the dependencies are just standard build stuff 
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.