29.7 Performance considerations

All EBC executables require an EBC virtual machine interpreter to be executed. Because all EBC executables are running through an interpreter, they execute slower than native UEFI executables. As a result, a UEFI driver that is compiled with an EBC compiler should be optimized for performance to improve the usability of the UEFI Driver. Chapter 4 covers speed optimization techniques that may be used to improve the performance of all UEFI Drivers.

The simplest way to maximize the speed of a UEFI Driver compiled for EBC is to maximize the use of UEFI Boot Services, UEFI Runtime Services, and protocols produced by other UEFI components. These calls outside of the UEFI Driver compiled for EBC help improve performance because those other services may be native calls that can be executed without the overhead of the EBC virtual machine interpreter. If all UEFI Drivers compiled for EBC follow the recommendation, even if one UEFI Driver compiled for EBC calls another UEFI Driver compiled for EBC, the overhead of the EBC interpreter is still minimized.