Скомпилированный код, такой как C
, потребляет мало памяти.
Интерпретированный код, такой как Python
, потребляет больше памяти, что вполне понятно.
С помощью JIT программа (выборочно) компилируется в машинный код во время выполнения. Так не должно ли потребление памяти программой с JIT'ed быть где-то между компилированной и интерпретируемой программой?
Вместо этого JIT'ированная программа (например, PyPy
) потребляет в несколько раз больше памяти, чем эквивалентная интерпретируемая программа (например, Python
). Почему?