Der Compiler entscheidet sich aber nicht erst zur Laufzeit für die entsprechende Variante (wenn Typ zur Zeit der Compillierung bekannt). Deshalb sollte der Performanceverlust nicht so groß sein.
Genau! Es gibt überhaupt keinen Performanceverlust, die die Zuordnung ja bereits beim Compilieren geschieht. Das Überladen von Methoden ist eine syntaktische Eigenschaft, die den Source-Code lesbarer machen soll. Auf die Laufzeit hat sie keine Auswirkungen.