Liboil

Liboil ist eine Bibliothek von einfachen Funktionen, die für verschiedene CPUs optimiert sind.
Jetzt downloaden

Liboil Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • LGPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • David Schleef
  • Website des Verlags:

Liboil Stichworte


Liboil Beschreibung

Liboil ist eine Bibliothek von einfachen Funktionen, die für verschiedene CPUs optimiert sind. Liboil ist eine Bibliothek von einfachen Funktionen, die für verschiedene CPUs optimiert sind. Diese Funktionen sind im Allgemeinen Schläfen, die einfache Algorithmen implementieren, z. B. das Umwandeln eines Arrays von N-Ganzzahlen auf Fließkommazahlen oder Multiplizieren und Summieren eines Arrays von N-Zahlen. Solche Funktionen sind Kandidaten für eine erhebliche Optimierung mit verschiedenen Techniken, insbesondere unter Verwendung von erweiterten Anweisungen, die von modernen CPUs (Altivec, MMX, SSE usw.) bereitgestellt werden. Viele Multimedia-Anwendungen und Bibliotheken machen bereits in intern ähnlicher Dinge. Das Ziel dieses Projekts ist es, einen Teil des von verschiedenen Multimedia-Projekten verwendeten Codes zu konsolidieren und auch Optimierungen zu erleichtern, indem Sie durch ein breiteres Anwendungsspektrum einsetzen. In der Veröffentlichung von LIBOIL-0.3.0, ich ermutige andere offene Quellprojekte, um LIBOIL zu verwenden. Ich bin gerne viel Arbeit, um Projekte umzuwandeln, um LIBOIL zu verwenden, und insbesondere zum Hinzufügen von Funktionsklassen und Implementierungen an LIBOIL, das erforderlich ist. GCC wird dringend empfohlen. Die Versionen von GCC vor 3.2 haben bekanntermaßen Probleme, die LIBOIL richtig kompilieren. Glib-2.0 wird empfohlen, ein paar der Beispiele aufzubauen, ist jedoch nicht erforderlich, was installiert ist, was installiert ist. Diese Lizenz wurde ausgewählt, um Liboil für möglichst viele Open-Source-Projekte wie möglich nützlich zu machen, und hat den Nebeneffekt, dass Liboil auch von proprietären Anwendungen verwendet werden kann. Liboil hat eine Reihe von Funktionsklassen, die hauptsächlich von einem Entwickler mit der Bibliothek als tatsächliche Funktionen angesehen werden. Eine solche Funktion ist: void öl_tablelookup_u8 (uint8_t * dest, int dstr, uint8_t * src, int sstr, uint8_t * Tabelle, int Tischsitz, int n); Diese Funktion führt eine Tabellensuche für jedes Element im SRC-Array aus und setzt die ergibt das EST-Array. In Wirklichkeit ist öl_tablelookup_u8 ein Preprocessor-Makro, das den richtigen Code erzeugt, um eine indirekte Funktion zu nennen. Die Funktionsklasse hat eine oder mehrere Funktionsimplementierungen, die echte Funktionen sind, die genau die gleiche Aktion wie durch die Dokumentation der Dokumentation definierte Funktion ausführen. Jede Klasse hat eine Implementierung, die die Referenzimplementierung ist. Diese Referenz-Implmentierung wird verwendet, um die Genauigkeit anderer Implementierungen zu testen. Deutlich können die Nichtreferenzimplementierungen die Aktion schneller ausführen als die Referenzimplementierung. Der LIBOIL-Initialisierungscode (zur Laufzeit) überprüft somit jede Implementierung in einer Klasse, um die schnellste Implementierung zu bestimmen. Sobald dies erledigt ist, zeigt der indirekte Funktionszeiger der Klasse auf die optimale Implementierung. Danach werden alle Anrufe an die Funktionsklasse (z. B. öl_tablelookup_u8 () beschrieben) automatisch auf die schnellste Implementierung geroutet. Beispielsweise verwendet die Implementierung nicht unterstützte Opcodes). Dies erfolgt automatisch. Darüber hinaus können Implementierungen deaktiviert werden, da sie nicht dieselben Ergebnisse wie die Referenzimplementierung erstellen. Alle von den Funktionsklassen sind API und über die Lebensdauer der 0,3-Serie. Darüber hinaus enthält die 0,4-Serie eine Kompatibilitätsbibliothek, die den 0,3 ABI bereitstellt. Dies ermöglicht es, mehrere LIBOIL-mithilfe von Bibliotheken in derselben Anwendung zu verknüpfen, ohne dass dieselbe LIBOIL ABI verwendet werden soll. Neue ABI-Versionen (0,4, 0,5 usw.) werden nicht weniger als 6 Monate voneinander entfernt erwartet. Es ist geplant, dass alle zukünftigen Versionen von Liboil mindestens zwei Liboil ABI-Versionen unterstützen werden. Was ist neu in dieser Version: · Zahlreiche Hauptfehler wurden behoben. · Armstütze der Armstütze wurden gemacht. · Fixes wurden für verschiedene Verteilungen vorgenommen. · Kleinere zusätzliche Funktionen wurden hinzugefügt.


Liboil Zugehörige Software