[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fyeva2s34uddo":3},{"code":4,"message":5,"data":6,"timestamp":35},10000,"success",{"full_name":7,"position":8,"description":9,"language":10,"stars":11,"forks":12,"stars_gained":13,"age_days":14,"hn_threads":15,"one_liner":16,"summary_md":17,"topic":18,"github_topics":21,"license":31,"homepage":32,"updated_at":33,"history":34},"indexable-inc\u002Fra-jit",16,"Incremental rust builds up to 92x faster than cargo\u002Frustc","Rust",248,12,49,5,[],"Cuts Rust edit-rebuild cycles to milliseconds by patching only changed functions into an already-built program.","ra-jit is worth a look if your Rust edit-compile-run loop is the bottleneck, but the pinned toolchain and memory footprint mean it fits a narrow setup rather than every workflow.\n\n## The problem\n\nYou change one function, run `cargo build`, and wait for rustc to relink the whole program before you can see the result. On large workspaces, even incremental cargo builds take enough time to break concentration, and getting a running app back to the same state after a restart is often the slower half. ra-jit keeps the project parsed and type-checked in memory, then writes only the changed functions into the binary cargo already produced, so a second build returns in milliseconds instead of a full link. For a program that opts in, the new code can replace functions while it keeps running.\n\n## What's different\n\nInstead of wrapping rustc, ra-jit sits beside cargo. It keeps your project in memory with rust-analyzer and generates machine code with Cranelift, so after an edit it compiles only the functions that changed and patches them into the existing program rather than recreating the link step. The first build is still cargo's, and ra-jit links its code with the output. The author reports an average of 10x faster than incremental `cargo build` on macOS arm64, 24x on Linux aarch64 and 12x on Linux x86-64 across projects like ripgrep, nushell, helix and bun.\n\nThat speed comes with real boundaries. ra-jit compiles against exactly Rust 1.99.0 and its `rust-src`, so any project pinned to another toolchain gets plain cargo on every build. Not every change goes to ra-jit either: some edits fall back to cargo, and `cargo ra-jit status` counts them. The daemon also holds a few GB for a small project and tens of GB for the largest, which changes how you choose machines for parallel work.\n\n## Who should try it\n\nA good fit is someone iterating on a sizeable Rust codebase on Apple silicon or Linux x86-64\u002FARM64, especially with a long-running game, GUI or other program slow to restore state—that is where the `ra-jit-live` crate and in-place hot swap pay off. A poor fit is a Windows user, since ra-jit installs there but hands every build to cargo, or anyone whose project cannot be built with 1.99.0, because the speedup simply does not apply. If you run `cargo build` from editors, scripts or agents, `ra-jit enable` routes plain cargo through ra-jit globally, but the project notes edits are slower this way and on some projects slower than plain cargo.\n\n## Requirements and limitations\n\nYou need Rust 1.99.0 with the `rust-src` component, and your project must build under it. Platforms are macOS on Apple silicon, Linux x86-64 and Linux ARM64; Intel Macs are unsupported. Expect a few minutes to compile from crates.io (or via Nix, which also builds from source and has no binary cache yet); no prebuilt binaries are published. After installation, four programs must stay together in `~\u002F.cargo\u002Fbin`. Ongoing costs are the several-GB to tens-of-GB daemon memory and the wait for it to load—seconds for small projects, about a minute for very large ones—during which builds remain cargo's.\n\n## HotRepo's take\n\nra-jit is five days old, and HotRepo recorded 248 total stars on its NEW-REPOSITORY board (not the overall Trending board) on 2026-10-25. The supplied history has insufficient comparable daily-board coverage, so persistence cannot be judged. Before committing, verify that your project actually builds with Rust 1.99.0 and the `rust-src` component, and check the [setup notes](https:\u002F\u002Fgithub.com\u002Findexable-inc\u002Fra-jit\u002Fblob\u002Fmain\u002FREADME.md#install): with the wrong toolchain, every build quietly falls back to cargo.",{"slug":19,"name":20},"developer-tools","Developer Tools",[22,23,24,19,25,26,27,28,29,30],"cargo","compiler","cranelift","hot-reload","incremental-compilation","jit","live-coding","rust","rust-analyzer","Apache-2.0","https:\u002F\u002Fra-jit.ix.dev","2026-10-25T02:59:47Z",[],1792909531]