Stackless Python
Stackless Python, чи просто Stackless - версія інтерпретатора мови програмування Python, названа так через відмову від використання стандартного стека викликів мови Сі на користь власного стека. Особливістю Stackless є мікропотоки (англ. Microthreads), які дозволяють уникнути надмірної витрати системних ресурсів, що властиво стандартним потокам операційної системи[4].
Являючись вдосконаленою версією інтерпретатора Python, Stackless дозволяє програмісту користуватися перевагами багатопоточного програмування без зниження продуктивності на примітивах синхронізації.
На додаток до стандартних можливостей Python, Stackless додає підтримку співпрограм, комунікаційних каналів і серіалізації завдань.
Мікропотоками інтерпретатор Stackless управляє самостійно. Це сприяє зменшенню додаткових витрат системних ресурсів на потоки і може значно зменшити навантаження центрального процесора в деяких ситуаціях, коли кількість потоків дуже велика.
Через значну кількості змін до вихідних текстів оригінального CPython Stackless не може встановлюватися як бібліотека або розширення інтерпретатора, тому він поширюється як окремий інтерпретатор Python.
Джерела
- Cameron Laird, Introduction to Stackless Python
- About Stackless Python on Ohloh
- This is the port of Python programming language to the Sony PSP console
- stackless-python на GitHub
Посилання
- Офіційний сайт
- Stephan Diehl. Programming with Stackless Python // Linux Magazine. — August 2007. — № 81. — С. 34—37.
- Cameron Laird (4 жовтня 2000). Introduction to Stackless Python (англ.). oreillynet.com. Архів оригіналу за 18 серпня 2012.
- ↑ Release v3.8.1-slp — 2021.
- ↑ The stackless Open Source Project on Open Hub: Languages Page — 2006.
- ↑ https://www.openhub.net/p/stackless/analyses/latest/languages_summary
- ↑ Stackless-Python — Stackless-Python 3.6.8 documentation. stackless.readthedocs.io. Процитовано 9 лютого 2019.