Re: RFC: Removing the Zend API

From: Date: Tue, 31 Mar 2009 20:23:43 +0000
Subject: Re: RFC: Removing the Zend API
References: 1  Groups: php.internals 
Request: Send a blank email to internals+get-43566@lists.php.net to get a copy of this message
Hi Paul et all, I fully understand (and even share) your motivations and goals. However it seems to me that describing an extension in PHP will lead to loss of performance, as you cannot capture certain C features in PHP. For example, there are some internal functions that rely on pointer arithmetic to get decent performance. Then you may extend to PHP to better capture these "dirty tricks", and then you'll end up with some DSL for building PHP extensions. It's not necessarily bad, it's just a lot of work.. :) Moreover, in your example in the wiki you don't include how you would do parameter parsing. Or do you rely on the code generator to look at the C functions signatures and figure out by itself what to do? (actually there is some ambiguity, AFAIR, and thus guessing cannot be done reliably) To summarize my e-mail, I believe this is a very interesting idea, but needs a lot more thinking :) It's a nice SoC project nethertheless. Nuno ----- Original Message -----
Hi, I've added a new RFC to the wiki (http://wiki.php.net/rfc/remove_zend_api). It details a plan to try and decouple the Zend engine from the libraries, in order to allow large scale changes to the Zend engine in the future. The RFC describes a prototype phase of the project, which could reasonably be done within a GSOC project, so I have added it to the GSOC 09 page (http://wiki.php.net/gsoc/2009#prototyping_removal_of_the_zend_api). If anybody has any comments, I'd be delighted to hear them. If anybody knows (or is) a good student looking for a GSOC project (and I've left it late, there are only 3 days left to apply), please encourage the student to look at this. Finally, if anybody is interested in helping mentor this as part of the GSOC, I'd be grateful for the help (I have to start writing my thesis soon). Thanks, Paul


« previous php.internals (#43566) next »