Есть ли сейчас какие-то основные "интерпретаторы", которые на самом деле не компилируют свой код? (Либо для байт-кода, либо для чего-то подобного.)
Например, когда вы используете программу Perl непосредственно из ее исходного кода, первое, что она делает, - это компилирует исходный код в синтаксическое дерево, которое затем оптимизирует и использует для выполнения программы. В обычных ситуациях время, затрачиваемое на компиляцию, невелико по сравнению со временем, на которое фактически выполняется программа.
Придерживаясь этого примера, очевидно, что Perl не может быть быстрее, чем хорошо оптимизированный код C, как он написан на C. На практике для большинства вещей, которые вы обычно делаете с Perl (например, обработка текста), это будет так же быстро как вы могли бы разумно кодировать его в C, и на порядок проще писать. С другой стороны, я бы, конечно, не пытался написать высокопроизводительную математическую процедуру непосредственно на Perl.