CBQN

a BQN implementation in C (by dzaima)

CBQN Alternatives

Similar projects and alternatives to CBQN

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better CBQN alternative or higher similarity.

CBQN reviews and mentions

Posts with mentions or reviews of CBQN. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-20.
  • Building a faster hash table for high performance SQL joins
    3 projects | news.ycombinator.com | 20 Dec 2023
    Worth pointing out that this can depend a lot more on fiddly details than you might expect. In particular, you're dealing with a small fixed width allowing the hash to be stored in the table instead of the key. The article emphasizes variable-length keys, and I don't see any specialization on key sizes (if 4- and 8-byte keys aren't common then this makes sense; if they are then I'd expect dedicated table code for those sizes to be valuable). And set lookups are also just a bit different from value lookups. I think these cases are different enough that I have no idea if the results would carry over, although I can see how the bidirectional approach would reduce probing more than RH which seems good.

    ...and since I've done a lot of work with Robin Hood on small-key lookups, I can point out some little tweaks that have made a big difference for me. I have 8-byte lookups at just over 3ns/lookup[0], albeit at a very low load factor, typically <50%. A key step was to use the maximum possible hash as a sentinel value, handling it specially in case it shows up in the data. This way, instead of probing until finding an empty bucket or greater hash, probing just finds the first slot that's greater than or equal to the requested key's hash. So the lookup code[1] is very simple (the rest, not so much). The while loop is only needed on a hash collision, so at a low load factor a lookup is effectively branchless. However, these choices are specialized for a batched search where the number of insertions never has to be higher than the number of searches, and all the insertions can be done first. And focused on small-ish (under a million entries) tables.

    [0] https://mlochbaum.github.io/bencharray/pages/search.html

    [1] https://github.com/dzaima/CBQN/blob/5c7ab3f/src/singeli/src/...

  • Having trouble installing bqn into arch
    2 projects | /r/apljk | 19 Dec 2022
    It sounds like you might be trying to install the package manually from the AUR? Generally you should do this only once, for an AUR helper such as pacaur, so you can install with pacaur -S bqn. The instructions in the CBQN repository also work for installing without a package manager, which is the easiest way to enable replxx.
  • Programming Style Influences
    1 project | /r/programming | 11 May 2022
    It's still utterly verbose compared to the ngn/k source or even CBQN source.
  • BQN Example
    2 projects | /r/apljk | 25 Jun 2021
    CBQN Source, and Install Instructions
  • A note from our sponsor - SaaSHub
    www.saashub.com | 25 Apr 2024
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic CBQN repo stats
4
293
9.5
5 days ago

dzaima/CBQN is an open source project licensed under GNU General Public License v3.0 only which is an OSI approved license.

The primary programming language of CBQN is C.


Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com