Wenn Performance das einzige Kriterium wäre, dann sollte man von
OOP die Finger lassen. In der Tat werden viele der fundamentalen Datenstrukturen ohne
OOP implementiert. Das liegt aber in erster Linie daran, das man die Vorzüge der
OOP hier nicht braucht. Klar kommt noch der Performancefaktor ins Spiel.
Wenn du also eine Klasse für das Speichern von Bäumen schreiben willst, dann verwende ruhig Records für die Baumstruktur, um beim Einfügen von 1 Mio Knoten einen Geschwindigkeitsvorteil von 400ms zu haben (Nebenbei ist ein Baum keine sonderlich schnelle Datenstruktur).
Die Schnittstelle wird aber eh eine Klasse sein, da hier die
OOP-Vorzüge (Stichwort: Erweiterbarkeit) zum Tragen kommen müssen, und sei es, die Methode des Schlüsselvergleiches (ComapareString, CompareText, etc.) verändern zu können.