Встречается на собеседованиях • сегодня
Какие есть ограничения у CPython
CPython (стандартная реализация Python) имеет несколько ключевых ограничений:
-
GIL (Global Interpreter Lock) – ограничивает параллельное выполнение потоков, так как только один поток может выполняться в любой момент времени. Это снижает эффективность многопоточных программ для CPU-задач.
-
Производительность – CPython медленнее компилируемых языков (C, Rust) и даже некоторых JIT-реализаций (PyPy).
-
Отсутствие true многопоточности – из-за GIL потоки не могут эффективно использовать многоядерные CPU для CPU-задач (но I/O-операции работают нормально).
-
Динамическая типизация – может приводить к ошибкам в runtime, которые в статически типизированных языках отлавливаются на этапе компиляции.
Пример с GIL:
python
import threading
def count():
n = 0
for _ in range(10_000_000):
n += 1
# Два потока выполняются последовательно из-за GIL
t1 = threading.Thread(target=count)
t2 = threading.Thread(target=count)
t1.start(); t2.start()
t1.join(); t2.join() # Занимает почти в 2 раза больше, чем один поток
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы