No garbage collector
Go relies on a concurrent tracing GC — easy on the developer, but with steady CPU overhead and occasional latency spikes that matter in tight loops, low-latency systems, and small-memory targets. Glide uses scope-bound borrows and arenas: the compiler tracks ownership at compile time, freeing happens at block exit, no runtime tracing. The mental model is closer to Rust than Go, but with no lifetime annotations to write.
fn parse_tree() {
let arena: *Arena = Arena::new(4096);
defer arena.free();
let n1: *Node = arena.create(Node);
let n2: *Node = arena.create(Node);
} // arena freed in one shot
func parseTree() {
n1 := &Node{}
n2 := &Node{}
_ = n1; _ = n2
} // GC collects whenever