Relax: JIT compiler for Rust to reduce build times

(makepad.github.io)

31 points | by adamnemecek 22 hours ago

5 comments

  • Sytten 40 minutes ago
    We have had good experience with kache so far to speedup builds in CI and local
    • n_u 37 minutes ago
      How does it compare to sccache ?
      • jtwaleson 18 minutes ago
        Kache caches more, and is path independent, so can be shared between worktrees.
  • faresahmed 32 minutes ago
    Somehow always, someone somewhere rediscovers that cutting down the time between coding and code execution makes our lives easier and to a degree be able to write better programs.

    Perhaps the earliest and best attempt was Lisp's computational model. Since then, the idea manifested itself again[1], again[2], and again[3] in different forms.

    [1]: Inventing on Principle, Bret Victor: https://www.youtube.com/watch?v=PUv66718DII

    [2]: REPL-Driven Development, Stuart Halloway: https://vimeo.com/223309989

    [3]: LIVE, Live Programming workshop: https://liveprog.org/

    • Capricorn2481 28 minutes ago
      This implies that Rust build times haven't been a topic of discussion for the last 10 years. They don't have long build times just for funsies, Rust is completely different from Lisp.
      • faresahmed 17 minutes ago
        I beg to differ. It's not that Rust is completely different from Lisp. PL writers get so caught up with their 'killer feature' which in the case of Rust is the borrow checker, that they completely abandon the other 50% which is the environment.

        If we stopped treating the compiler as a one-shot program, we could theoretically shorten this edit-build-test loop by 99%.

        • LoganDark 4 minutes ago
          The borrow checker is an example of a certain kind of reasoning that Rust benefits from. There's a reason a Lisp can be inspected and rewritten as the process runs, and it's the same thing that makes Rust difficult to rewrite in the same way. Not sure the exact term for it, but it's very easy to have profound nonlocal effects, for example with TAIT (type alias impl trait).
  • kennykartman 21 hours ago
    I knew that makepad devs were focused on build times, but didn't imagine this much!
  • Surac 23 minutes ago
    moving errors from compile time to runtime is good?
    • jtwaleson 16 minutes ago
      For some use cases, like speeding up local development, it's an excellent trade off.
  • tontinton 48 minutes ago
    The world really needs something like this, but why such a slop UI website.

    Just tell Opus 5.5 to "redesign the UI to not look like AI slop, design it like a human expert designer would" at bare minimum.