2009-01-21 24 views
6

No puedo encontrarlo en ningún lugar de la web (y no quiero instalarlo). ¿Es el R language un lenguaje compilado? ¿Qué tan rápido ejecuta un guion pre-escrito? ¿Hace algún tipo de compilación o simplemente ejecuta las instrucciones línea por línea?¿Es R un lenguaje compilado?

Respuesta

13

En la mayoría de los casos, R es un lenguaje interpretado que se ejecuta en un ciclo de lectura-evaluación-impresión. Existen numerosas extensiones de R que están escritas en otros idiomas, como C y Fortran, donde la velocidad o la interacción con bibliotecas nativas es útil.

6

A menudo reescribí el código R en C++ y lo ejecuté 100 veces más rápido. El bucle es especialmente ineficiente en R.

+1

Aprovechar las operaciones de la matriz es muy importante. Por otro lado, el código R bien diseñado puede ser tremendamente rápido. Vea esta discusión: http://wiki.r-project.org/rwiki/doku.php?id=tips:programming:code_optim2 –

4

R es generalmente un lenguaje interpretado. Sin embargo, el paquete compiler ofrece una compilación de códigos de bytes que puede mejorar el rendimiento. También puede llamar al código compilado desde R.

En términos de qué tan rápido, depende de lo que está tratando de hacer y cómo está tratando de hacerlo. Algunas operaciones de bucle pueden ser muy lentas. Sin embargo, en muchos casos, con un código bien escrito, el rendimiento de las secuencias de comandos R está determinado por la velocidad de las bibliotecas subyacentes internas basadas en C y las velocidades de lectura y escritura de la memoria del sistema, por lo que R es casi tan rápido como cualquier otra cosa.

Cuestiones relacionadas