u/mttdin r/ProgrammingLanguages • Recommends
Pony: High-Performance, Memory-Safe Actors (with Sean Allen)
#pony#actormodel#referencecapabilities
35K subscribers • 14 videos on Hallway
Intermediate. Assumes working knowledge.
8K views2 years ago2 recommendations
Programming languagesSystems programmingLanguage design and type systemsConcurrency and parallelismMemory management
Sean Allen explains how the Pony programming language achieves high-performance, memory-safe concurrency using actors and reference capabilities.
Pony is a language born out of what should be a simple need - actor-style programming with C performance. On the face of it, that shouldn’t be too hard to do. Writing an actor framework isn’t trivial, but it’s well-trodden ground. The hard part is balancing performance and memory management. When your actors start passing hundreds of thousands of complex messages around, either you need some complex rules about who owns and frees which piece of memory, or you just copy every piece of data and kill your performance. Pony’s solution is a third way - a novel approach to memory management called reference capabilities. In this week’s Developer Voices, Sean Allen joins us from the Pony team to explain what reference capabilities are, how Pony uses them in its high-performance actor framework, and how they implement a garbage collector without stop-the-world pauses. The result is a language for performant actors, and a set of ideas bigger than the language itself… – Pony: ponylang.io/ The Pony Tutorial: tutorial.ponylang.io/ The Pony Playground: playground.ponylang.io/ Azul Garbage Collector: azul.com/products/components/pgc/ Shenandoah Garbage Collector: wiki.openjdk.org/display/shenandoah/Main A String of Ponies (Distributed Actors Paper): doc.ic.ac.uk/~scb12/publications/s.blessing.pdf Garbage Collection with Pony-ORCA: tutorial.ponylang.io/appendices/garbage-collection.html – Support Developer Voices on Patreon: patreon.com/DeveloperVoices Support Developer Voices on YouTube: youtube.com/@developervoices/join Kris on Mastodon: mastodon.social/@krisajenkins Kris on LinkedIn: linkedin.com/in/krisjenkins/ Kris on Twitter: twitter.com/krisajenkins -- Intro High-Performance Actors in C Reference Capabilities Pony's Atypical Garbage Collector Actors For All The Things How Garbage Collection Works in Pony Does Pony Have A Supervisor-Like System? Are Pony Actors Strongly Typed? Pony Over Multiple CPUs Can You Mix Pony And C With FFI? What's the Current State of Pony? Which Is Bigger - The Language or the Ideas? Outrou/mttdin r/ProgrammingLanguages • Recommends