Zum Hauptinhalt Zur Navigation Zur Suche

Irregexp soll Google Chrome schneller machen

Neue Implementierung Regulärer Ausdrücke für V8. Google hat seiner JavaScript-Engine V8, die im Browser Chrome zum Einsatz kommt, eine neue Implementierung Regulärer Ausdrücke verpasst. Irregexp ersetzt JSCRE.
/ Jens Ihlenfeld
54 Kommentare Auf Google folgen (öffnet im neuen Fenster)

Mit Chrome 2.0.160.0 hat Google eine neue Entwicklerversion seines Browsers Chrome veröffentlicht. Zu den wesentlichen Neuerungen gehört Irregexp, eine von Google entwickelte Implementierung Regulärer Ausdrücke(öffnet im neuen Fenster). Irregexp baut auf der Infrastruktur von V8 zur Speicherverwaltung sowie nativen Codeerzeugung auf und ist gezielt auf Reguläre Ausdrücke optimiert, die in JavaScript-Applikationen im Web genutzt werden.

Bislang setzt Google JSCRE ein, eine vom WebKit-Team weiterentwickelte Version von Philip Hazels PCRE. Damit erreichte Google eine hohe Kompatibilität, doch mit steigender Geschwindigkeit der JavaScript-Engine zeigte sich immer deutlicher, dass die Regulären Ausdrücke langsamer sind als der Rest. Also entwickelte Google eine eigene Implementierung, die ähnlichen Ansätzen folgt wie WebKits SquirrelFish Extreme oder Operas Carakan.

So übersetzt Irregexp Reguläre Ausdrücke zunächst in eine Automaton-Darstellung, die sich besser analysieren und optimieren lässt. Anschließend wird nativer Maschinencode erzeugt und versucht, durch weitere Optimierungen das zeitintensive Backtracking(öffnet im neuen Fenster) so weit wie möglich zu vermeiden.

Um eine möglichst hohe Kompatibilität der neuen Implementierung sicherzustellen, hat Google seinen Code gegen die Million populärsten Webseiten getestet, die in Googles Suchindex enthalten sind. Zudem hat Google aus diesen Seiten die mittlerweile dritte Version seines JavaScript-Benchmarks V8(öffnet im neuen Fenster) erzeugt, der nun stärker auf Reguläre Ausdrücke testet.

Chrome 2.0.160.0 steht über den Developer-Channel des Browsers zum Download zur Verfügung.


Relevante Themen