[go: up one dir, main page]

|
|
Log in / Subscribe / Register

A viable solution for Python concurrency

A viable solution for Python concurrency

Posted Oct 14, 2021 23:56 UTC (Thu) by ms-tg (subscriber, #89231)
In reply to: A viable solution for Python concurrency by fw
Parent article: A viable solution for Python concurrency

Please note that this is how Ruby is approaching this problem, see “Ractors”

https://github.com/ruby/ruby/blob/master/doc/ractor.md

I wonder if there should be a more socially encouraged expectation of cross pollination of ideas like this between the language communities?


to post comments

A viable solution for Python concurrency

Posted Oct 15, 2021 16:52 UTC (Fri) by colesbury (subscriber, #137476) [Link]

> I wonder if there should be a more socially encouraged expectation of cross pollination of ideas like this between the language communities?

Nathaniel already wrote below about the similarity between Ractors and sub-interpreters, but I'll give a few more examples specific to this project of ideas (or code) taken from other communities:

- Biased reference counting (originally implemented for Swift)
- mimalloc (originally developed for Koka and Lean)
- The design of the internal locks is taken from WebKit (https://webkit.org/blog/6161/locking-in-webkit/)
- The collection thread-safety adapts some code from FreeBSD (https://github.com/colesbury/nogil/blob/nogil/Python/qsbr.c)
- The interpreter took ideas from LuaJIT and V8's ignition interpreter (the register-accumulator model from ignition, fast function calls and other perf ideas from LuaJIT)
- The stop-the-world implementation is influenced by Go's design (https://github.com/golang/go/blob/fad4a16fd43f6a72b6917ef...)


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds