Our great sponsors
-
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.
-
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.
vm = virtual machine/memory?
I'm porting this Python library to Rust: https://github.com/Blizzard/s2protocol.
For the shitty, first pass prototype code I've written so far I've seen a ~30-40x speedup compared to the Python implementation and a ~2x speedup compared to a Go implementation by someone else: https://github.com/icza/s2prot.
That is why I chose Rust over a GC language like Go. It's a lot faster out of the box, even without me having a strong understanding of memory operations.
vm = virtual machine/memory?
I'm porting this Python library to Rust: https://github.com/Blizzard/s2protocol.
For the shitty, first pass prototype code I've written so far I've seen a ~30-40x speedup compared to the Python implementation and a ~2x speedup compared to a Go implementation by someone else: https://github.com/icza/s2prot.
That is why I chose Rust over a GC language like Go. It's a lot faster out of the box, even without me having a strong understanding of memory operations.
> I wonder if there is a subset of Rust that can be extracted someone into a new, minimal language with the core benefits.
That is basically what Val aims to do:
It has Rust-style ownership to guarantee memory safety, but without the complexity of lifetimes.
There is still a borrow-checker-like component, but I believe it should be much simpler than Rust's. In particular it infers how to call functions automatically (see "method bundles" and how they are called).
Still in the research phase. It is an open question how well this approach scales.
Good news! Complexity isn't a baseline requirement: it's possible to make a language that follows the basic patterns of an average Rust program. It's what we're doing in Vale [0].
It turns out, they key is to move some checks to run-time [1] to reduce complexity, move other checks instead to compile-time [2] where it doesn't increase complexity, and then make the borrow checker "opt-in" instead of forcing it to be used everywhere [3].
[1] https://verdagon.dev/blog/generational-references
Scanning back over the past couple years, there's plenty of commentary about coloring in async Rust
Of course it can, there are companies shipping products written in bare metal Go.
https://www.withsecure.com/en/solutions/innovative-security-...
Of course it can, there are companies shipping products written in bare metal Go.
https://www.withsecure.com/en/solutions/innovative-security-...
Related posts
- Starcaster: show 1v1 match results on your stream
- Show HN: Rust nom parsing Starcraft2 Replays into Arrow for Polars data analysis
- Modification of json string without deserialisation into map/struct
- Elm-inspired TypeScript decoding library now supports recursive decoders!
- λ "Functions all the way down" data validation for JavaScript and TypeScript