Home
TuningLib
  Eigenschaften
  Plattformen
  Handbuch
  Download
C++ Themen
English
Impressum

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.


© 2023 Dietmar Deimling