| ▲ | quotemstr 2 hours ago | |||||||||||||||||||
ZGC is extremely good work. https://wiki.openjdk.org/spaces/zgc/pages/34668579/Main > ZGC performs all expensive work concurrently, without stopping the execution of application threads for more than a millisecond. It is suitable for applications which require low latency. Pause times are independent of the heap size that is being used. ZGC works well with heap sizes from a few hundred megabytes to 16TB. Go's GC is also very good: https://go.dev/blog/greenteagc. V8's Orinoco is also pretty good now. It's improved a lot over the past decade and is now mostly-parallel. (A decade is about how long one of these things takes: high-performance GC is hard.) I'm also a fan of MPS: it's a big of dark horse because it's more a GC construction kit than a ready-to-go GC, but it's fast and flexible, and I'd start with it any day over Boehm if I were making a VM from scratch. | ||||||||||||||||||||
| ▲ | RedComet 3 minutes ago | parent | next [-] | |||||||||||||||||||
Are any of those actually pauseless like he asked for? | ||||||||||||||||||||
| ▲ | adastra22 2 hours ago | parent | prev | next [-] | |||||||||||||||||||
A millisecond is an eternity. It is 1/3 of the entire time allocated to a frame update in a modern game. | ||||||||||||||||||||
| ||||||||||||||||||||
| ▲ | platinumrad 2 hours ago | parent | prev [-] | |||||||||||||||||||
If I were writing this language, I'd probably just compile it to Go, although that means Rust extensions would either incur cgo costs or have to be replaced with Go extensions. | ||||||||||||||||||||
| ||||||||||||||||||||