Для установки нажмите кнопочку Установить расширение. И это всё.

Исходный код расширения WIKI 2 регулярно проверяется специалистами Mozilla Foundation, Google и Apple. Вы также можете это сделать в любой момент.

4,5
Келли Слэйтон
Мои поздравления с отличным проектом... что за великолепная идея!
Александр Григорьевский
Я использую WIKI 2 каждый день
и почти забыл как выглядит оригинальная Википедия.
Статистика
На русском, статей
Улучшено за 24 ч.
Добавлено за 24 ч.
Что мы делаем. Каждая страница проходит через несколько сотен совершенствующих техник. Совершенно та же Википедия. Только лучше.
.
Лео
Ньютон
Яркие
Мягкие

Из Википедии — свободной энциклопедии

Stackless Python
Тип интерпретатор языка программирования Python
Разработчик Кристиан Тисмер[1] и соавторы[2]
Написана на C
Операционная система Linux, Mac OS X, Windows, PSP OS[3]
Последняя версия 3.8.1 [4] (11 август 2021)
Тестовая версия 3.9.0 alpha 0 [5] (11 август 2021)
Лицензия Python Software Foundation License
Сайт stackless.com

Stackless Python, или просто Stackless — версия интерпретатора языка программирования Python, названная так из-за отказа от использования стандартного стека вызовов языка Си в пользу собственного стека. Наиболее впечатляющей особенностью Stackless являются микропотоки (англ. microthreads), которые позволяют избежать чрезмерного расхода системных ресурсов, присущего стандартным потокам операционной системы. В дополнение к стандартным возможностям Python, Stackless добавляет поддержку сопрограмм, коммуникационных каналов и сериализации задач.

Микропотоками интерпретатор Stackless управляет самостоятельно. Это способствует уменьшению дополнительных расходов системных ресурсов на потоки и может значительно уменьшить нагрузку центрального процессора в некоторых ситуациях, когда количество потоков очень велико.

Из-за значительного числа изменений в исходных текстах оригинального CPython Stackless не может устанавливаться как библиотека или расширение интерпретатора, поэтому он распространяется как отдельный интерпретатор Python.

Энциклопедичный YouTube

  • 1/3
    Просмотров:
    896
    11 397
    15 486
  • ТиПМС 10. Stackless coroutines, C++ coroutines
  • CppCon 2014: Gor Nishanov "await 2.0: Stackless Resumable Functions"
  • Introduction to PyPy

Субтитры

Особенности реализации

При помощи Stackless Python запущенная программа разбивается на микропотоки, которые управляются самим интерпретатором языка, а не ядром операционной системыпереключение контекста и планирование задач выполняются исключительно в интерпретаторе (таким образом, они также рассматриваются как форма зеленого потока). Микропотоки управляют выполнением различных подзадач в программе на одном и том же ядре процессора. Таким образом, они являются альтернативой асинхронному программированию на основе событий, а также позволяют избежать накладных расходов, связанных с использованием отдельных потоков для одноядерных программ (поскольку переключение режимов между пользовательским режимом и режимом ядра не требуется, поэтому загрузка процессора может быть уменьшена).

Несмотря на то, что микропотоки облегчают выполнение подзадач на одном ядре, Stackless Python всё равно использует глобальную блокировку интерпретатора (GIL) CPython и не использует несколько потоков и/или процессов. Таким образом, Stackless Python допускает только совместную многозадачность на общем процессоре, а не параллелизм (вытеснение изначально было недоступно, но теперь доступно в той или иной форме). Чтобы использовать несколько процессорных ядер, все равно потребуется создать систему межпроцессной связи поверх процессов Stackless Python.

Из-за значительного количества изменений в исходном коде, Stackless Python не может быть установлен в качестве расширения или библиотеки в качестве дополнения к существующему CPython-реализации Python. Stackless Python представляет собой полноценный самостоятельный дистрибутив Python. Большинство функций Stackless Python также были реализованы в PyPy, самостоятельном интерпретаторе Python и компиляторе JIT.

Примечания

  1. Cameron Laird, Introduction to Stackless Python (недоступная ссылка). Дата обращения: 8 августа 2012. Архивировано 18 августа 2012 года.
  2. Commits
  3. This is the port of Python programming language to the Sony PSP console
  4. Releases
  5. Репозиторий

Ссылки

Эта страница в последний раз была отредактирована 15 января 2022 в 12:06.
Как только страница обновилась в Википедии она обновляется в Вики 2.
Обычно почти сразу, изредка в течении часа.
Основа этой страницы находится в Википедии. Текст доступен по лицензии CC BY-SA 3.0 Unported License. Нетекстовые медиаданные доступны под собственными лицензиями. Wikipedia® — зарегистрированный товарный знак организации Wikimedia Foundation, Inc. WIKI 2 является независимой компанией и не аффилирована с Фондом Викимедиа (Wikimedia Foundation).