1. A runtime method for determining an implementation mode of operation for a software component, comprising steps of: a) running in a first implementation mode; b) determining a first cost associated with operating in the first implementation mode; c) determining a second cost associated with switching to a second implementation mode and with operating in the second implementation mode; d) comparing the first cost with the second cost; and e) providing a recommendation on whether to switch to the second mode based on the comparison of the first cost with the second cost.