RE: [SMARTY-DEV] Smarty compiler

From: Date: Wed, 06 Nov 2002 02:19:22 +0000
Subject: RE: [SMARTY-DEV] Smarty compiler
References: 1  Groups: php.smarty.dev 
Request: Send a blank email to php-smarty-dev+get-317@lists.php.net to get a copy of this message
Yup, I definitely think an executable-producing compiler would be detrimental to Smarty. Zend byte code is an interesting idea, didn't think of that. I think the issue is this: should we develop a PHP-based LALR(1) parser that understands a real grammar and can produce PHP code, then somehow shoehorn the Smarty syntax into the grammar? There might be a performance gain by not using regular expressions and logic for the parsing, but I have no idea how big it might be. It's kind of a chicken-and-egg problem. We won't know if the performance gain is enough to warrant an implentation until we implement it and benchmark. :P Maybe we should consider a compiler rewrite that avoids regexs, and lose the LALR(1) component. Gary >-----Original Message----- >From: David M. Patterson [mailto:dpatterson4@cox.net] >Sent: Tuesday, November 05, 2002 7:25 PM >To: gary@loescher.org >Subject: RE: [SMARTY-DEV] Smarty compiler > > >For whatever it's worth, here is my 2-cents worth. > >Personally, I think that turning Smarty into a "real" >compiler is not a particularly good idea. Interesting, >but not good. > >One of the really great things about Smarty is that it >is based on PHP and PHP, in turn, runs on almost every >platform. I do all of my development on Windows-2000 >boxes using Apache and deploy to both Linux and Windows >servers without having to do anything to my code. > >A "real" compiler would, by definition, create system- >specific code, most likely even platform specific. >This means that to get the same functionality we have >now, we would have to have a Smarty compiler version >for each platform/OS combination. > >On top of that, I don't know that you'd really get >enough of a performance increase to make the effort >worth while. I'm using PHP4 with Apache 1.3.23 and >mySQL and have never had a performance problem. And, >from what I've been reading, Apache 2 includes some >significant performance improvements in it. > >Of course, I could be way off base here in my interpretation >of the the term "real compiler". If you're actually >talking about something that generates byte-code and >a run-time interpreter (Apache module?) to go with it, >that might be a different story. > >Or, if you're talking about something that would generate >PHP byte code (is that what Zend calls it) and is >compatible with their optimizer and that ilk, that >would also be interesting. > >Still though, not sure if it would be worth the effort. > >Just my opinion. No flames please. > >Dave > >> -----Original Message----- >> From: Gary Loescher [mailto:gary@loescher.org] >> Sent: Tuesday, November 05, 2002 5:11 PM >> To: 'Brandon Inman'; smarty-dev@lists.php.net >> Subject: RE: [SMARTY-DEV] Smarty compiler >> >> >> I sent a post a day or so ago about this, didn't get any bites :) >> >> Here are some questions to start discussion: >> >> 1) What does Smarty get out of it? >> 2) What do end users get out of it? >> 3) What do developers get out of it? >> 4) In other words, why is a 'real' compiler an improvement? >> 5) Can it be done without breaking backward compatibility, >> given current Smarty syntax? >> 6) If backward compatibility can't be maintained, is it time >> for a branch given the benefits? (Don't flame me, just posing >> the question :) >> 7) What are some other other pros and cons? >> >> >> >-----Original Message----- >> >From: Brandon Inman [mailto:brinman2002@yahoo.com] >> >Sent: Tuesday, November 05, 2002 6:38 PM >> >To: smarty-dev@lists.php.net >> >Subject: [SMARTY-DEV] Smarty compiler >> > >> > >> >Recently, someone threw out the suggestion of rewriting Smarty >> >as a 'real' compiler. I think this >> >is a good idea. >> > >> > Is anyone else out there interested in doing this? If no >> >one is interested in doing this, let >> >me know what else is out there. I'd like to get involved in >> >some fashion. >> > >> >Brandon Inman >> > >> > >> >__________________________________________________ >> >Do you Yahoo!? >> >HotJobs - Search new jobs daily now >> >http://hotjobs.yahoo.com/ >> > >> >-- >> >Smarty Development Mailing List (http://smarty.php.net/) >> >To unsubscribe, visit: http://www.php.net/unsub.php >> > >> > >> >> >> -- >> Smarty Development Mailing List (http://smarty.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >

« previous php.smarty.dev (#317) next »