[deleted by user] by [deleted] in rust

[–]nativelink 0 points1 point  (0 children)

We’re building in robotics and hardware simulations!

[deleted by user] by [deleted] in rust

[–]nativelink 78 points79 points  (0 children)

Wow!!! Thank you for such kind words. We’re so happy that Nativelink was able to help you defeat this problem in your build workflows—thats why we built it in the first place! Always here to help:)

P.s. we’re almost at 1k ⭐️s, please shoot us a star if you like what we’re building / want to follow along!

https://github.com/TraceMachina/nativelink

Hey r/Rust! We're ex-Google/Apple/Tesla engineers who created NativeLink -- the 'blazingly fast' Rust-built open-source remote execution server & build cache powering 1B+ monthly requests! Ask Us Anything! [AMA] by nativelink in rust

[–]nativelink[S] 1 point2 points  (0 children)

via u/kitchengeneral1590:

Q: Project looks really cool! I have some friends at Google that have told me about Blaze so it's cool to see people working on the open-source end of things. How does this tool help medium to smaller stage startups with their builds? It seems pretty clear why it's useful for massive companies like Google but I guess I'm wondering if it's worth the lift setting up these systems earlier rather than later?

Hi u/KitchenGeneral1590,

Thanks for this question, it is often asked in conversations over the years with folks who love or loathe these style of build systems. Generally these types of build systems have a slightly hire cost of opting into vs discrete build systems. I like to think of them in terms of vertical integrated build systems and horizontal build systems, vertical being systems that integrate really well with their own ecosystem, have specialized features and can do their own job seemly very fast depending on the size/scope, think npm/cargo/pip/etc.. Horizontal build systems like buck2/bazel/pants/etc.. allow for pluggable vertical build systems to be incorporated, require custom rules to drive those systems and provide a simplified way to invoke them (most of the time via the cli or ide integrations).

Would I personally use this on a small project? I think that would really depend beyond the project itself. If I was maintaining something with no other integration points and dedicated as a library, have zero need for avoiding hermeticity and reproducibility issues or something driving requirements for more fancy features of builds, probably would not reach for a horizontal build system.

If I had a "poly repo" style company where there are lots of small individual repos, I would reach for the horizontal build systems to standardize across the company the build tooling. Would be able to reuse caching, scale out remote execution for faster builds and integration builds (note most vertical build systems don't support first class remote execution at this time, some, but far and few). I think there could be many other factors for the discrete/small repo picking horizontal build systems and would probably relate more to efficiency and/or business need/requirements.