"We are back" « oc.at

PHP Hilfe

s4c 26.09.2008 - 09:13 1844 16
Posts

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12204
Zitat von watchout
Mit tokenizer bist du da wesentlich langsamer unterwegs übrigens, regex sind extrem schnell in PHP, und dass man die return values vom tokenizer erstmal in PHP dann noch weiter behandeln müsste (während der regex ein praktisches array liefert und dieses in native code erstellt) spielt dabei keine kleine Rolle ;)

Wofuer sich PHP uebrigens bei den libpcre-Entwicklern bedanken darf; die "native", durch preg redundante ereg-Funktionsfamilie (POSIX Extended REs) ist naemlich ein Dreck dagegen. Aber gut, das liegt wohl mehr bei POSIX an sich als an PHP (PCRE = NFA, POSIX REs = DFA).

Auch wenn die sonst (mit einem Tokenizer) verwendeten Sprachkonstrukte langsamer sind - diese Anwendung ist wohl eindeutig I/O-limitiert, weil Netzwerkdatenverkehr und HTTP involviert sind. Insofern ist diese Komponente wohl voellig vernachlaessigbar. (Performancekritische Programmteile in PHP zu implementieren ist sowieso.... noch unvernuenftiger als irgendwas anderes in PHP zu implementieren :p ;))

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
*sigh* Musst du das jetzt zerpflücken ;)

Habe nichts Gegenteiliges geschrieben, nur dass Regex in PHP extrem schnell sind, aber stimmt ich hätte PCRE-Regex schreiben sollen

Natürlich, diese Anwendung ist bestimmt I/O Limitiert. Jedoch leben wir in einer Zeit wo die meisten Betriebssyteme Multitaskingfähig sind das heißt der Rechner könnte während die CPU auf I/O wartet tatsächlich noch andere Aufgaben erfüllen. Wenn du natürlich das Script am Mailüfterl ausführen möchtest, wird das egal sein, wobei ich jetzt ernsthaft bezweifle dass PHP darauf läuft und dass man ein Interface zu einer Netzwerkkarte damit herstellen könnte... :P
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz