The second one is calling CO::getControl() for each input mapping. We could cache the CO in the MIDI input mapping to eliminate this after the first lookup. The problem is that this would assume the ControlObject* for a ConfigKey never changes and that is not necessarily true (for example, skin-generated controls).
Given that we have no profiling data showing this inefficiency actually causes any problems -- moving out of 1.12.0 and marking low.
There are 2 lookups now (1 is unavoidable).
The second one is calling CO::getControl() for each input mapping. We could cache the CO in the MIDI input mapping to eliminate this after the first lookup. The problem is that this would assume the ControlObject* for a ConfigKey never changes and that is not necessarily true (for example, skin-generated controls).
Given that we have no profiling data showing this inefficiency actually causes any problems -- moving out of 1.12.0 and marking low.