Ejecutar código desde RAM es significativamente más rápido que ejecutarlo desde memoria flash. La mayoría de las CPU están muy optimizadas para el acceso a RAM más rápido posible, e incluso la memoria flash más rápida solo alcanza una fracción de la velocidad de la RAM.
Sin embargo, tenga en cuenta que mover el código de flash a RAM también requiere tiempo. Si el código se ejecuta solo una vez, solo necesita leerlo una vez y, por lo tanto, perdería tiempo para copiarlo primero en la RAM en lugar de ejecutarlo directamente. Si el código se ejecuta ocasionalmente (por lo tanto, copiarlo en la RAM aumentaría la ejecución la segunda vez que se lo llama), pero el sistema generalmente está inactivo, entonces usted ejecutará ese código más rápido al copiarlo en la RAM, pero a nadie le importa, porque el sistema tiene suficiente tiempo para gastar.
Por lo tanto, tales optimizaciones solo valen la pena, si el código se ejecuta con frecuencia, y usted lo ha medido como un punto de estrangulamiento del sistema.
Por otro lado, la memoria RAM debe mantener activamente los datos almacenados, mientras que la memoria flash no, por lo que el consumo total de energía aumenta, si la memoria RAM debe mantenerse activa. Sin embargo, esto solo es relevante si, de lo contrario, la RAM no se utiliza en absoluto, pero la mayoría de los sistemas modernos, de una forma u otra, ya utilizarán la RAM disponible y, por lo tanto, la mantendrán activa.