C JIT

Open-source C projects categorized as JIT

Top 16 C JIT Projects

  • wasm-micro-runtime

    WebAssembly Micro Runtime (WAMR)

  • Project mention: Build your own WebAssembly Compiler | news.ycombinator.com | 2023-12-03

    Here is what you are looking for: https://github.com/bytecodealliance/wasm-micro-runtime

  • tinycc

    Unofficial mirror of mob development branch

  • Project mention: Autoconf makes me think we stopped evolving too soon | news.ycombinator.com | 2024-04-03

    A 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)

  • 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.

    InfluxDB logo
  • ravi

    Ravi is a dialect of Lua, featuring limited optional static typing, JIT and AOT compilers

  • Project mention: Ravi is a dialect of Lua, with JIT and AOT compilers | news.ycombinator.com | 2024-03-18
  • RVVM

    The RISC-V Virtual Machine

  • i-use-arch-btw

    "I use Arch btw" but it's a Turing-complete programming language.

  • Project mention: I use Arch btw – A Turing-complete programming language | news.ycombinator.com | 2024-02-12
  • MoarVM

    A VM with adaptive optimization and JIT compilation, built for Rakudo

  • Project mention: Stability | dev.to | 2024-03-07

    Implement return prioritization #1786: superseeded

  • potion

    _why the lucky stiff's little language (the official repo... until _why returns)

  • 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.

    WorkOS logo
  • opensmalltalk-vm

    Cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.

  • Project mention: Cuis-Smalltalk | news.ycombinator.com | 2023-12-30
  • jitboy

    A Game Boy emulator with dynamic recompilation (JIT)

  • CBQN

    a BQN implementation in C

  • Project mention: Building a faster hash table for high performance SQL joins | news.ycombinator.com | 2023-12-20

    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/...

  • mass

    A compiler for a new language focusing on compile-time execution and no LLVM dependency.

  • beebjit

    A very fast BBC Micro emulator.

  • adorad

    Fast, Expressive, & High-Performance Programming Language for those who dare

  • kcs

    Scripting in C with JIT(x64)/VM.

  • python-c-io_uring-example

    Using io_uring Linux Kernel interface from Python by JITing C code with MetaCall.

  • tinycc

    My working copy of tinycc made reentrant (by mingodad)

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-04-03.

C JIT related posts

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com