Spirick Tuning
Eine C++ Klassen- und Template-Bibliothek
für performancekritische Anwendungen
Optimiert auf Performance
Die Bibliothek Spirick Tuning enthält viele Klassen
für die Speicher- und Objekt-Verwaltung, für Zeichenketten, für das Multithreading usw.
Alle Klassen sind auf eine gute Performance optimiert.
Es gibt zahlreiche Möglichkeiten zum Reduzieren des Speicherverbrauchs
und zum Erhöhen der Rechengeschwindigkeit.
Mit der Bibliothek Spirick Tuning können große, komplexe Datenmengen
performant im Hauptspeicher verarbeitet werden.
Genau definiertes Laufzeitverhalten
Viele Container-Bibliotheken legen Wert auf bestimmte Schnittstellen, z.B. Smalltalk-Like Collections.
Diese Bibliotheken geben keine Auskunft über die konkrete Implementierung.
Das Laufzeitverhalten kann sich von Compiler zu Compiler und von Version zu Version stark unterscheiden.
In der Bibliothek Spirick Tuning haben alle Klassen ein genau definiertes Laufzeitverhalten.
Die Implementierung der verschiedenen Schnittstellen ist genau dokumentiert.
Dadurch kann man für jeden Anwendungsfall eine optimale Lösung finden.
Konsequente Trennung von Speicher- und Objekt-Verwaltung
Store- und Block-Klassen verwalten Speicher, Container und Collections verwalten Objekte - that's it!
Hohe Flexibilität, einfache Erweiterbarkeit
Einheitliche Schnittstellen für Store-, Block- und Containerklassen ermöglichen das flexible Kombinieren
verschiedener Implementierungen und das einfache Erweitern der vorhandenen Funktionalität.
Langjährig stabiles Interface und stabile Implementierung
Im Verlauf von 25 Jahren Entwicklung wurden schrittweise neue Schnittstellen hinzugefügt.
Die vorhandenen Schnittstellen blieben dabei weitgehend unverändert.
Dieses Verfahren garantiert eine maximale Kompatibilität mit vorhandenen Anwendungen.
Im Laufe der Zeit wurde schrittweise auch neue Funktionalität implementiert.
Die vorhandene Funktionalität blieb dabei weitgehend unverändert.
Beim Wechsel zu einer neuen Version der Bibliothek gibt es kein unerwartetes Laufzeitverhalten.
Qualitätssicherung
- Alle Quelltexte lassen sich mit der höchsten Warnstufe ohne Meldungen übersetzen.
- Funktionsparameter und interne Fehlerzustände werden mit Assert-Makros überprüft.
- Der Output von Beispiel- und Testprogrammen wird mit Referenzdateien verglichen.
Alleinstellungsmerkmale
Die Bibliothek Spirick Tuning hat mehrere Alleinstellungsmerkmale. Hier ein paar Beispiele:
- Geschachtelte Größen- und Positionstypen
Store-, Block- und Containerklassen enthalten geschachtelte Größen- und Positionstypen.
Viele Optimierungen sind nur durch diese geschachtelten Datentypen möglich.
Positionstypen sind eine Verallgemeinerung von 'rohen' Speicheradressen.
- Zahlreiche vordefinierte Template-Instanzen
Die Bibliothek Spirick Tuning enthält viele Store-, Block- und Containerklassen,
die sich auf verschiedene Weise miteinander kombinieren lassen.
Um die Anwendung zu vereinfachen, sind zahlreiche Template-Instanzen bereits fertig vordefiniert.
- Speicherbasierte Referenzzähler
In der Bibliothek Spirick Tuning können 'rohen' Speicherblöcken
Referenzzähler zugeordnet werden.
Durch die Trennung der Referenzzähler vom Inhalt ist es möglich, C++-Objekte auch dann
zu löschen, wenn der Referenzzähler ungleich Null ist.
Auf diese Weise kann in komplexen, referenzzähler-basierten Datenstrukturen
das Entstehen von isolierten Inseln vermieden werden.
|