Встречается на собеседованиях • сегодня

Какие есть ограничения у CPython

CPython (стандартная реализация Python) имеет несколько ключевых ограничений:

  1. GIL (Global Interpreter Lock) – ограничивает параллельное выполнение потоков, так как только один поток может выполняться в любой момент времени. Это снижает эффективность многопоточных программ для CPU-задач.

  2. Производительность – CPython медленнее компилируемых языков (C, Rust) и даже некоторых JIT-реализаций (PyPy).

  1. Отсутствие true многопоточности – из-за GIL потоки не могут эффективно использовать многоядерные CPU для CPU-задач (но I/O-операции работают нормально).

  2. Динамическая типизация – может приводить к ошибкам в 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 раза больше, чем один поток
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы