Переключение контекста сопрограммы Python происходит медленнее, чем переключение контекста потока? ⇐ Python

Программы на Python
Anonymous
Переключение контекста сопрограммы Python происходит медленнее, чем переключение контекста потока?

Сообщение Anonymous »

Я пытаюсь измерить время переключения контекста сопрограммы и потока Python, имея два потока, ожидающих события, установленного другим потоком.
Переключение контекста потока занимает 3,87 мкс, что соответствует моим ожиданиям в отношении контекста ОС Для переключения требуется несколько тысяч инструкций.
Переключение контекста версии сопрограммы составляет 14,43 мкс, что для меня удивительно, поскольку я ожидал, что переключение контекста сопрограммы будет на порядок быстрее.
Это проблема сопрограммы Python? моя программа неправильная?
Код можно найти в этом документе
Переписывание программы на Rust дает более разумные результаты:
coro: 163 ns
тема: 1989 ns

Подробнее здесь: https://stackoverflow.com/questions/790 ... ext-switch

Вернуться в «Python»