2011-12-22 23 views
10

Me parece una buena cosa (es decir, en términos de tiempo de compilación), que el intérprete de Python cree bytecode .pyc. Creo que Python usa algún tipo de hash para determinar si la fuente ha cambiado y luego recompilar.¿Por qué Perl no compila en archivos binarios como python?

¿Sería una buena idea para Perl? (con respecto a los proyectos más grandes con muchas dependencias, etc.).

+0

¿Qué con la marca comercial? ¿Es algo pitónico? – Zaid

+1

@Zaid * Good Thing * es [jerga] (http://catb.org/jargon/html/G/Good-Thing.html) y suele destacarse con una marca comercial. Geeks. Imagínate. –

Respuesta

12

Para una explicación bastante larga de los archivos .pmc, hay lenghty article on perlmonks, explicando por qué nadie lo usa.

+0

Mientras que la funcionalidad de Python está integrada, parece (por lo que acabo de leer) que el perl pmc es una ocurrencia tardía. – Richard

2

Parrot es un código de bytes VM que debería haber sido utilizado por la próxima versión de Perl, es decir Perl6, pero al parecer no hay más (gracias a Barney Schmale 's comentario)

+0

Perl6 es otro tipo de Perl, en lugar del "siguiente" como sucesor. Es una especificación de idioma, al igual que el ceceo común es una especificación de idioma. – tempire

+0

Sí, pero la única implementación (de prototipo, incompleta, etapa alfa) de Perl6 parece estar basada en Parrot. –

+0

Solo una nota para los lectores en 2015. Esta declaración ya no es correcta. La implementación más completa actualmente de Perl 6 es Rakudo. Rakudo admite múltiples backends. El back-end más completo es Moar VM, seguido de JVM. El soporte de Parrot se está quedando atrás. – BarneySchmale

4

En realidad, hay una manera de compilar Perl para el código de bytes , pero tiene algunas limitaciones. Ver B::Bytecode.

0

Tomó más tiempo para que Perl cargue desde el código binario que desde la fuente.

Cuestiones relacionadas