Optimierung des Purple Garden Lexers: Ein Geschwindigkeitsschub von 0 auf 580 MB/s
Dieser Blogbeitrag beschreibt, wie der Autor den Lexer der Programmiersprache Purple Garden optimiert hat und dabei eine beeindruckende Geschwindigkeit von 580 MB/s erreicht hat. Verwendete Techniken umfassen berechnete Gotos, zeigerbasierte Strings ohne Kopien und Allokationen, eine Allocator-Schnittstelle, Token-Interning und vorkalkulierte Hash-Werte für Schlüsselwörter, was die Leistung des Lexers deutlich verbessert. Weitere Optimierungen betrafen Architekturverbesserungen und die Verwendung von mmap für schnelleres Dateilesen. Diese Optimierungen führten zu einer dramatischen Geschwindigkeitssteigerung, die die Verarbeitungszeit von Dutzenden Millisekunden auf nur wenige Millisekunden reduziert – ein echter Leistungssprung.
Mehr lesen