raikv VS adix

Compare raikv vs adix and see what are their differences.

raikv

Persistent key value store, serverless shared memory caching (by raitechnology)

adix

An Adaptive Index Library for Nim (by c-blake)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
raikv adix
2 4
7 38
- -
7.3 7.2
3 months ago 10 days ago
C++ Nim
Apache License 2.0 ISC License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

raikv

Posts with mentions or reviews of raikv. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-03-15.
  • New x86 micro-op vulnerability breaks all known Spectre defenses
    1 project | news.ycombinator.com | 1 May 2021
    I have a graph for this:

    https://github.com/raitechnology/raikv/blob/master/graph/mt_...

    The CPU in this case is a Threadripper 3970x, 32 cores, 64 SMT.

    My experience is this: When the L3 cache is effective, then the memory latency hiding via memory prefetch works well across SMT threads. If the hashtable load requires a chain walk, the SMT latency hiding is less effective because the calculated prefetch location is not the actual hit. I couldn't get prefetching multiple slots as the load increased to be as effective as prefetching a single slot.

  • Performance comparison: counting words in Python, Go, C++, C, Awk, Forth, Rust
    16 projects | news.ycombinator.com | 15 Mar 2021
    Amusingly, I've done a multi-threaded version of the word counting program in order to test a shm kv store. I needed benchmark that created a lot of cross thread concurrent accesses to keys and I found a blog about this test. My version has serious constraints though, you have to create a shared memory map with enough space to hold all of the keys beforehand, as it doesn't resize the shm kv map as it runs.

    This is the source for it:

    https://github.com/raitechnology/raikv/blob/master/test/ctes...

    The speedup of the multi-threaded version vs the single-threaded version is about linear. The single threaded version uses 2 threads, one to read stdin and one to hash the keys, the 16 threaded version uses one thread to read, 16 to hash.

    $ time ctest -t 1 < ~/data/enwiki-p10p30303

adix

Posts with mentions or reviews of adix. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-26.
  • I/O is no longer the bottleneck
    10 projects | news.ycombinator.com | 26 Nov 2022
    Note: Just concatenating the bibles keeps your hash map artificially small...which matters because as you correctly note the big deal is if you can fit the histogram in the L2 cache as noted elsewhere and this really matters if you go parallel where N CPUsL2 caches can speed things up a lot -- until* your histograms blow out CPU-private L2 cache sizes. https://github.com/c-blake/adix/blob/master/tests/wf.nim (or a port to your favorite lang) might make it easy to play with these ideas.
  • A Cost Model for Nim
    11 projects | news.ycombinator.com | 11 Nov 2022
    which is notably logarithmic - not unlike a B-Tree.

    When these expectations are exceeded you can at least detect a DoS attack. If you wait until such are seen, you can activate a "more random" mitigation on the fly at about the same cost as "the next resize/re-org/whatnot".

    All you need to do is instrument your search to track the depth. There is some example such strategy in Nim at https://github.com/c-blake/adix for simple Robin-Hood Linear Probed tables.

  • Performance comparison: counting words in Python, Go, C++, C, Awk, Forth, Rust
    16 projects | news.ycombinator.com | 15 Mar 2021
    Knuth-McIlroy comes up a lot. Previous discussion [1]. For this example I can make a Nim program run almost exactly the same speed as `wc -w`, yet the optimized C program runs 1.2x faster not 3.34x slower - a whopping 4x discrepancy - much bigger than many of the ratios in the table. So, people should be very cautious about conclusions from any of this.

    [1] https://news.ycombinator.com/item?id=24817594

    [2] https://github.com/c-blake/adix/blob/master/tests/wf.nim

What are some alternatives?

When comparing raikv and adix you can also consider the following projects:

countwords - Playing with counting word frequencies (and performance) in various languages.