Das Kefk Network Wiki befindet sich im Testbetrieb.


Look-Up-Table

Aus Kefk.

(Weitergeleitet von Look-Up Table)
Wechseln zu: Navigation, Suche

In der Informatik ist eine Look-Up-Table (LUT) eine Datenstruktur, meist ein (assoziatives) Array, das komplizierte Laufzeitberechnungen durch einen einfachen indizierten Zugriff auf die Datenstruktur ersetzt. Dies führt zu einem signifikanten Geschwindigkeitsgewinn, sofern die benötigten Speicherzugriffe schneller sind als die normale Berechnung.

Da die Zugriffe auf den Index der Look-Up-Tabelle mit einem geringerwertigeren Datentyp durchgeführt werden können als die in der Tabelle enthaltenen Werte, kann die Methode auch zur Einsparung von Speicherplatz verwendet werden.

Ein klassisches Beispiel ist eine trigonometrische Tabelle. Die Berechnung des Sinus etwa kann sehr lange dauern und ist bei jedem Aufruf der Funktion wiederholt nötig. Um das zu vermeiden, werden zu Beginn einige Werte des Sinus berechnet und in einer Tabelle gespeichert, zum Beispiel für jede ganze Gradzahl. Später, wenn ein konkreter Sinus berechnet werden soll, rundet die Funktion die gewünschte Gradzahl und liest den Sinuswert aus der Tabelle.

Um die Genauigkeit der Berechnung zu verbessern, kann auch ein Interpolations-Algorithmus verwendet werden. Dabei wird versucht, durch mehrere benachbarte Einträge aus der Tabelle (im obigen Beispiel zum Beispiel die darüber und darunter liegende ganze Gradzahl) und einige weitere Berechnungen den Wert genauer abzuschätzen. Das benötigt zwar etwas mehr Zeit, kann die Genauigkeit aber enorm verbessern. Die Methode kann auch dazu verwendet werden, die Look-Up-Table bei gleicher Genauigkeit zu verkleinern.

Nachteile

Bei der Benutzung von Look-Up-Tabellen ist zu beachten, dass sie auch langsamer als die direkte Berechnung sein können, wenn die Berechnung relativ simpel ist. Das liegt nicht nur an langsamen Speicherzugriffen, sondern auch an einem erhöhten Speicherbedarf und einer Beeinträchtigung des Caches. Dies wird immer wichtiger, da Mikroprozessoren zunehmend schneller als Speicherchips werden. Optimierungen wie die beispielhaft angeführten Sinus-Tabellen sind mit modernen Prozessorgenerationen oft unnötig oder sogar kontraproduktiv.

Ein ähnliches Problem tritt bei der Rematerialisation, einer Programmoptimierungstechnik auf.

Zu beachten ist weiterhin, dass z.B. ein reelles Argument (bzw. eine Real-Zahl mit einigen Nachkommastellen) erst auf einen natürlichen (Integer-) Index abgebildet werden muss, um als Schlüssel für eine Speicherstelle Verwendung zu finden. Dazu muss, wenn beispielsweise für eine periodische Funktion nur Werte aus der ersten Periode um 0 herum in der LUT vorhanden sind, das Argument zunächst in das Periodenintervall abgebildet ("reelles Modulo") und danach gehasht (auf eine Speicherstelle abgebildet) werden.

Weitere Bedeutungen

In der Computergrafik und Computertechnik bezeichnet man mit Color Look-Up Table auch eine bestimmte Hardwarekomponente bzw. die darin gespeicherte Farbtabelle.

In der Digitaltechnik bezeichnet man mit Look-Up-Table einen 2n-nach-1-Multiplexer mit n Steuereingängen und 2n Speicherstellen, in der die Wahrheitstabelle einer beliebigen booleschen Funktion codiert ist.

Wikipedia
Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Look-Up-Table, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation.
Persönliche Werkzeuge
Andere Sprachen