Reentrant C scanners for PHP

From: Date: Thu, 05 Jul 2001 23:08:03 +0000
Subject: Reentrant C scanners for PHP
Groups: php.dev 
Request: Send a blank email to php-dev+get-59035@lists.php.net to get a copy of this message
This is the first public release of fully reentrant C scanners for the PHP language and the INI system. They can be used to replace the Flex-based implementations commonly found in the Zend Engine. Features: - Flexible I/O model; lays groundwork for fully supporting modern web-servers such as Apache 2.0; - uses portable C only; significantly improves portability by removing dependence on GNU extensions of C++; - fully thread-safe without loss of speed. The software is currently available in the form of three source files and a patch to the Zend Engine. http://schumann.cx/ngscan-0.1.tar.gz To install, cd into the ngscan directory and run "make ZEND=../php4/Zend install", followed by a buildconf. Because software already exists to eliminate the scan/parse process, speed was not a main concern. The new language scanner is faster than the old one in all tested scenarios though. time saved lines what 10% 500K <? echo test ?> 15% 500K <? echo "test" ?> 40% 1.5M pure HTML - 500K ZTS, <? echo test ?> (1) 87% 500K ZTS, <? echo "test" ?> 99% 1.5M ZTS, pure HTML (2) (1) crashed in vprintf, apparently some glibc/pthread issue (2) +4 minutes vs 800 milli-seconds (user times taken from a command-line CGI, CFLAGS=-O, --enable-inline-optimization, gcc 2.95.3, Linux 2.4.6, glibc 2.2.3) - Sascha Experience IRCG http://schumann.cx/ http://schumann.cx/ircg

« previous php.dev (#59035) next »