The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 16 C JIT Projects
-
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.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
python-c-io_uring-example
Using io_uring Linux Kernel interface from Python by JITing C code with MetaCall.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Here is what you are looking for: https://github.com/bytecodealliance/wasm-micro-runtime
Project mention: Autoconf makes me think we stopped evolving too soon | news.ycombinator.com | 2024-04-03A better solution is just to write a plain ass shell script that tests if various C snippets compile.
https://github.com/oilshell/oil/blob/master/configure
https://github.com/oilshell/oil/blob/master/build/detect-pwe...
Not an unholy mix of m4, shell, and C, all in the same file.
---
These are the same style as a the configure scripts that Fabrice Bellard wrote for tcc and QEMU.
They are plain ass shell scripts, because he actually understands the code he writes.
https://github.com/qemu/qemu/blob/master/configure
https://github.com/TinyCC/tinycc/blob/mob/configure
OCaml’s configure script is also “normal”.
You don’t have to copy and paste thousands of lines of GNU stuff that you don’t understand.
(copy of lobste.rs comment)
Project mention: Ravi is a dialect of Lua, with JIT and AOT compilers | news.ycombinator.com | 2024-03-18
Project mention: I use Arch btw – A Turing-complete programming language | news.ycombinator.com | 2024-02-12
Implement return prioritization #1786: superseeded
Project mention: Building a faster hash table for high performance SQL joins | news.ycombinator.com | 2023-12-20Worth 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/...
C JIT related posts
- AST vs. Bytecode: Interpreters in the Age of Meta-Compilation [pdf]
- I'm trying to install Cuis-smalltalk on debian 12 and this error happen
- What's a good way to represent overloaded functions at a low level?
- Are there faster alternatives to GCC and Clang for C?
- OpenSmalltalk-VM
- Language intrinsics and custom array layout
- How do you know if an allocator is good?
-
A note from our sponsor - WorkOS
workos.com | 19 Apr 2024
Index
What are some of the best open-source JIT projects in C? This list will help you:
Project | Stars | |
---|---|---|
1 | wasm-micro-runtime | 4,459 |
2 | tinycc | 1,794 |
3 | ravi | 1,141 |
4 | RVVM | 807 |
5 | i-use-arch-btw | 724 |
6 | MoarVM | 678 |
7 | potion | 655 |
8 | opensmalltalk-vm | 532 |
9 | jitboy | 292 |
10 | CBQN | 292 |
11 | mass | 272 |
12 | beebjit | 124 |
13 | adorad | 60 |
14 | kcs | 44 |
15 | python-c-io_uring-example | 25 |
16 | tinycc | 23 |