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
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]