How Turborepo is porting from Go to Rust

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • Protobuf

    Protocol Buffers - Google's data interchange format

  • On optional.. this was a regression in proto that is somewhat helped by https://github.com/protocolbuffers/protobuf/blob/main/docs/f... ; I have no idea whether protobuf for rust has started taking advantage of this.

    JSON is awful in every way.

  • go

    The Go programming language

  • This was referenced, which I thought was interesting:

    https://github.com/golang/go/issues/13492

    golang cannot be compiled as a C static library with musl.

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

    An HTTP library for Rust (by hyperium)

  • goprotobuf

    Go support for Google's protocol buffers (by golang)

  • turbo

    Incremental bundler and build system optimized for JavaScript and TypeScript, written in Rust – including Turbopack and Turborepo.

  • One detail I enjoy from this post is that sometimes you can just call a CLI[0]. It's easy to spend a lot of time figuring out how to expose some Rust/C code as a library for your language, but I like the simplicity of just compiling, shipping the binary and then calling it as a subprocess.

    Yes, there's overhead in starting a new process to "just call a function", but I think this approach is still underutilized.

    [0]: https://github.com/vercel/turbo/blob/c0ee0dea7388d1081512c93...

  • prost

    PROST! a Protocol Buffers implementation for the Rust Language

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts