Einzelnen Beitrag anzeigen

helgew

Registriert seit: 30. Jul 2008
125 Beiträge
 
#7

Re: just-in-time - Codeerzeugung : Funktionen aus Formeln?

  Alt 18. Okt 2009, 15:54
@himitsu: guter Vorschlag. Ich bin hin- und hergerissen. Einerseits ist es mit Konstanten viel einfacher, da einem dann auch case-Anweisungen offenstehen, wo gerade noch Zeichenketten verarbeitet werden. Da ich den Ausdruck jedoch nur einmalig übersetzen muss, lockt irgendwo auch die Vorstellung, ein menschenlesbares Zwischenprodukt in assemblercode auszugeben, an dem man noch manuell herumoptimieren kann (wobei das bei meinem Grafikprogramm schon gewaltig an der Zielgruppe vorbeigeht *hust*). Wenn ich es textbasiert mache, kann ich Formelinterpreter und Übersetzer mit einem Zwischenzustand in Klartext trennen.
Dein Vorschlag, ein Assemblerobjekt zu bauen, nehme ich mir sehr zu Herzen, da ich im fertigen Programm nicht mehr mit Zeigern herumjonglieren will und das ganze auch irgendwo bequem verwendbar sein soll.

@olee: ich habe das meiste über Recherche herausgefunden. Unersetzliches Hilfsmittel ist zunächst einmal eine codetable http://www.jegerlehner.ch/intel/IntelCodeTable.pdf . Auch sehr nützlich finde ich die Referenz für erweiterte Befehle unter http://www.intel80386.com/simd/mmx2-doc.html , mithilfe dieser Seite habe ich schon mmx-optimiertes Alphablending und sse-optimierte Matrixmultiplikation umgesetzt (alphablending ist x5 schneller als generischer delphicode, die matrixgeschichte immerhin noch architekturabhängig bis zu 30%). du kannst mit inline assembler anfangen und einfache Routinen basteln, von dedizierten Assemblern wie a86 und dergleichen würde ich mal vorerst absehen, das erschlägt einen zu Beginn zu sehr. Was tutorials angeht, bin ich aber sehr ratlos und gebe die Frage an die anderen weiter.
  Mit Zitat antworten Zitat