Почему JIT'-код потребляет намного больше памяти, чем компилированный или интерпретируемый код?

Скомпилированный код, такой как C, потребляет мало памяти.

Интерпретированный код, такой как Python, потребляет больше памяти, что вполне понятно.

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

Вместо этого JIT'ированная программа (например, PyPy) потребляет в несколько раз больше памяти, чем эквивалентная интерпретируемая программа (например, Python). Почему?

7
задан Continuation 30 December 2011 в 02:08
поделиться