1. A computer-implemented method comprising: selecting a runtime for executing a program, the runtime comprising a first combination of feature implementations, each feature implementation implementing a feature of an application programming interface (API); monitoring execution of the program, the execution using the runtime; generating monitor data based on the monitoring; determining, based on the monitor data, a frequency at which a first feature that is implemented by a first feature implementation in the first combination of feature implementations is used; selecting, by a computer processor, a second combination of feature implementations, the second combination of feature implementations replacing the first feature implementation with a second feature implementation configured to implement the first feature, the selecting the second combination of feature implementations being based at least in part on the frequency at which the first feature is used; and modifying the runtime by activating the second combination of feature implementations to replace the first combination of feature implementations.