Measuring Go program (GoAWK) performance from 1.2 to 1.18: https://benhoyt.com/writings/go-version-performance/
The Go 1.3 runtime led to a 2x speedup in GoAWK, and performance wins have continued since. It's easy to see popular PLs as largely finished, but the wins here show there's still opportunities.
miniblog.
Related Posts
It took me way too long to realise that Arc<Mutex<T>> is basically a way to create multiple &mut T references (with runtime constraints).
This means that you can use plain &T and &mut T in the vast majority of your code. Most code doesn't need to care there's a mutex.
Really cute approach to reporting type errors: when there's a type error, show an example of a runtime error that the type check has prevented!
Data-Driven Techniques for Type Error Diagnosis https://escholarship.org/uc/item/59s4h4pv
Noodling with an interpreter for a statically typed language with reified types (e.g. a list knows what type it contains).
Currently I have a single representation of types in both the runtime and the type checker. I think that's a good thing?