Re: Re: [PHP-DEV] What should be in 5.3?
On Tue, 2007-08-28 at 17:46 -0400, Cristian Rodriguez wrote: On 8/27/07, Andi Gutmans [EMAIL PROTECTED] wrote: I think we're still far away from a working garbage collector which is production quality. Im sure it has bugs, but last time I tested the circular repository it was working really fine and the save of memory was really big ;-) Yes, but Andi is desperate to have at least something else than just unicode support in PHP 6. No worries, this will go in 5.3. --Jani -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
RE: Re: [PHP-DEV] What should be in 5.3?
This is based on our experience with making changes in the memory manager (significantly smaller changes than this one) and how long it takes to stabilize them. Andi -Original Message- From: Jani Taskinen [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 29, 2007 1:58 AM To: Cristian Rodriguez Cc: internals@lists.php.net Subject: Re: Re: [PHP-DEV] What should be in 5.3? On Tue, 2007-08-28 at 17:46 -0400, Cristian Rodriguez wrote: On 8/27/07, Andi Gutmans [EMAIL PROTECTED] wrote: I think we're still far away from a working garbage collector which is production quality. Im sure it has bugs, but last time I tested the circular repository it was working really fine and the save of memory was really big ;-) Yes, but Andi is desperate to have at least something else than just unicode support in PHP 6. No worries, this will go in 5.3. --Jani -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
Andi Gutmans schrieb: This is based on our experience with making changes in the memory manager (significantly smaller changes than this one) and how long it takes to stabilize them. Then we should make sure that the garbage collector goes into HEAD ASAP, should we not? -- Sebastian Bergmann http://sebastian-bergmann.de/ GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
RE: Re: [PHP-DEV] What should be in 5.3?
Sebastian, Just so you guys don't get the wrong idea, I have a garbage collector book sitting on my shelf which I bought 2-3 years ago as I was thinking of implementing this. Unfortunately I hit some issues and edge cases and didn't have enough time to spend on this. So I'm definitely not against a garbage collector. It's something I think would be very good for PHP even if it were optional. I do think though that we need an opportunity to review it, test it benchmark it. Again, whoever has done work in his life on memory managers knows how sensitive they are. David, do you have a patch against PHP 5.2? For some reason I don't think I got the updated patch although Derick said you sent it out. Thanks, Andi -Original Message- From: news [mailto:[EMAIL PROTECTED] On Behalf Of Sebastian Bergmann Sent: Wednesday, August 29, 2007 8:06 AM To: internals@lists.php.net Subject: Re: [PHP-DEV] What should be in 5.3? Andi Gutmans schrieb: This is based on our experience with making changes in the memory manager (significantly smaller changes than this one) and how long it takes to stabilize them. Then we should make sure that the garbage collector goes into HEAD ASAP, should we not? -- Sebastian Bergmann http://sebastian- bergmann.de/ GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
Andi Gutmans schrieb: Sebastian, Andi, I do think though that we need an opportunity to review it, test it benchmark it. and this is exactly what I want to faciliate with having David's code merged into HEAD: exposing it to more people for increased testing. David developed his garbage collector in a CVS branch that was copied from PHP_5_2 back when he started. To make the patch smaller, easier to read, and the code review easier I suggest that all his code changes that change direct manipulations of reference counters to the use of the respective macros are committed - they make sense in any case. Cheers, Sebastian -- Sebastian Bergmann http://sebastian-bergmann.de/ GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
Hi Andi, Andi Gutmans wrote: Hi all, From my point of view I think we can make a really good PHP 5.3 release pretty quickly as long as we are careful about the scope. There's a lot of good work which is low risk which we can easily roll into it. There are high risk items like garbage collection etc. which I think we should continue working on, etc. but target them more towards PHP 6. Adding such features into a PHP 5.3 branch wouldn't allow us to release that for a long time. I think schedule wise it's not unreasonable to do a pretty feature rich PHP 5.3 beta in November and release in January. I prefer the release-early, release-often mantra and that'll require us to somewhat be careful about the scope and high risk items. The following are some suggestions we (Dmitry, Stas and I) have re: items we had on our lists. We divided them into what we think are must-haves (i.e. don't release without), should-haves (we should try to get these in but they wouldn't be show stoppers for release), and nice to-haves (low priority). Must have: These are ones that we'd really like to be in 5.3 and think should delay 5.3 release if they aren't ready. 1. ICU extension 2. OpenSSL modifications for OpenID 3. Dynamic class access ($class::method) 4. (binary) operator which is the same as (string) 5. remove --enable-fastcgi and family, always enable them 6. __callStatic friends 7. remove warning for var Should have: These are ones that we'd like to be in 5.3, but if there are problems with them we are ready to go without them and catch up in 5.3.x, 5.4, etc. 1. Unicode extension (normalization, character properties, etc.) 2. Late static binding 3. Namespaces (still needs maturing so that will be the main factor for deciding if in or out) 4. Make memory manager pluggable per-request (simple patch) 5. Synchronize all OO module docs to look the same (PHPDOC team) 6. remove undocumented support for strings in list($a,$b) = ab 7. Move arg_info and other C constants from .data to .text (or .rdata) segment 8. Non-parsed heredocs (nowdocs) Nice to have: These are ones that we'd like to have in 5.3, but are not important enough to spend energy on before first two groups are achieved (unless of course somebody has a good working implementation). 1. cookie2 support 2. stat cache for windows/unix 3. mysqlnd speaking of mysqlnd its state is beta. No new features, stabilizing. Currently when running in unicode mode there are about 714 pending execution. There are experimental functions in mysqli, which are skipped for testing. The aim has been always not to lag behind mysqli/libmysql and it's true. Actually mysqli/libmysql lags behing mysqli/mysqlnd as libmysql gets bug-fixes quite slower than mysqlnd does. mysql, mysqli and mysqlnd have gcov level above 88%, as far as I recall. The average for PHP is somewhere above 50%. JFYI, Ulf blogged lately on memory consumption and tuning of mysqlnd. Pretty long, but very good blog entry. We continue to identify bottlenecks and optimize mysqlnd. http://blog.ulf-wendel.de/?p=157 4. goto 5. __construct in interfaces 6. Compiled functions (CFs) and classes in PHP 7. Allow parser to evaluate static expressions (-1, 2+2) in compile-time (it won't work with constants (X+1)) Our 2 cents. Andi -Original Message- From: Lukas Kahwe Smith [mailto:[EMAIL PROTECTED] Sent: Monday, August 27, 2007 2:30 AM To: PHP Developers Mailing List Subject: [PHP-DEV] What should be in 5.3? Hi, In the spirit of forwards compabitility I think the 5.3 release will we very important regardless if we keep or remove the unicode switch in PHP6. From my POV 5.1 and 5.2 have mainly covered stability and performance improvements on top of the addition of several important extensions like PDO, Json etc. In terms of changes to the actual language the main thing that sticks in my head where things like E_STRICT and is_a vs. instanceOf. So now with 5.3 we might want to look ahead towards PHP6 and make sure that we add whatever makes sense to have in 5.x that will ease the life for people writing forward compatible code for PHP6. It might also be a chance to revisit the question of how we want to approach strictness and deprecation. Forward compatibility: - binary cast - namespaces - ... Strictness: - What is our philisophy, is OO more strict than procedural or is there no such differntiation? I remember the discussions about dynamic member variables, number incrementing throwing notices inconsistently, signature rewriting. I fear I am opening a can of worms with this one. Although I disagree with the bulk of the decisions on this topic in the past I am not trying to reopen the discussions, I just hope to get a clearer definition on our philosiphie for future discussions Deprecation: - Split of deprecation from E_STRICT - Rule for deprecation
Re: [PHP-DEV] What should be in 5.3?
Then we should make sure that the garbage collector goes into HEAD ASAP, should we not? Does anybody uses HEAD in production on a bunch of moderate-to-heavily loaded sites? If not, how does it matter if the patch sits in HEAD or not, one that wishes to test it can do that. I'm not against GC (unless it's slow :) but I don't see why putting it into HEAD matters so much. -- Stanislav Malyshev, Zend Software Architect [EMAIL PROTECTED] http://www.zend.com/ (408)253-8829 MSN: [EMAIL PROTECTED] -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
Cristian Rodriguez wrote: On 8/27/07, Andi Gutmans [EMAIL PROTECTED] wrote: I think we're still far away from a working garbage collector which is production quality. Im sure it has bugs, but last time I tested the circular repository it was working really fine and the save of memory was really big ;-) What sort of script did you save a lot of memory on? It takes some very specific code for you to see noticable savings with this. -Rasmus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
On 8/29/07, Stanislav Malyshev [EMAIL PROTECTED] wrote: Then we should make sure that the garbage collector goes into HEAD ASAP, should we not? Does anybody uses HEAD in production on a bunch of moderate-to-heavily loaded sites? If not, how does it matter if the patch sits in HEAD or not, one that wishes to test it can do that. I'm not against GC (unless it's slow :) but I don't see why putting it into HEAD matters so much. HEAD is for _development. If we loose the development branch, I cannot imagine any sane to get things done, to get things in nice way :) --Pierre -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
On 8/29/07, Rasmus Lerdorf [EMAIL PROTECTED] wrote: What sort of script did you save a lot of memory on? It takes some very specific code for you to see noticable savings with this. I used very specific code otherwise there is no way to test if the particular enhacement work ;) I also used average and big apps in order to check if there was some regression, so far, no problem detected.( note that I did not measure speed, because I care 99% about proper behaviuor and 1% about speed) -- http://www.kissofjudas.net/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
RE: Re: [PHP-DEV] What should be in 5.3?
On Mon, 27 Aug 2007, Andi Gutmans wrote: I think we're still far away from a working garbage collector which is production quality. At least last time we were discussing it. This should still remain a PHP 6 item if we can actually make it works in an acceptable way. Have you checked the latest patch that david send here? He updated quite a bit to address all the issues that were raised as far as I know. Derick -- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: Re: [PHP-DEV] What should be in 5.3?
On 8/27/07, Andi Gutmans [EMAIL PROTECTED] wrote: I think we're still far away from a working garbage collector which is production quality. Im sure it has bugs, but last time I tested the circular repository it was working really fine and the save of memory was really big ;-) -- http://www.kissofjudas.net/ -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DEV] What should be in 5.3?
Hi all, From my point of view I think we can make a really good PHP 5.3 release pretty quickly as long as we are careful about the scope. There's a lot of good work which is low risk which we can easily roll into it. There are high risk items like garbage collection etc. which I think we should continue working on, etc. but target them more towards PHP 6. Adding such features into a PHP 5.3 branch wouldn't allow us to release that for a long time. I think schedule wise it's not unreasonable to do a pretty feature rich PHP 5.3 beta in November and release in January. I prefer the release-early, release-often mantra and that'll require us to somewhat be careful about the scope and high risk items. The following are some suggestions we (Dmitry, Stas and I) have re: items we had on our lists. We divided them into what we think are must-haves (i.e. don't release without), should-haves (we should try to get these in but they wouldn't be show stoppers for release), and nice to-haves (low priority). Must have: These are ones that we'd really like to be in 5.3 and think should delay 5.3 release if they aren't ready. 1. ICU extension 2. OpenSSL modifications for OpenID 3. Dynamic class access ($class::method) 4. (binary) operator which is the same as (string) 5. remove --enable-fastcgi and family, always enable them 6. __callStatic friends 7. remove warning for var Should have: These are ones that we'd like to be in 5.3, but if there are problems with them we are ready to go without them and catch up in 5.3.x, 5.4, etc. 1. Unicode extension (normalization, character properties, etc.) 2. Late static binding 3. Namespaces (still needs maturing so that will be the main factor for deciding if in or out) 4. Make memory manager pluggable per-request (simple patch) 5. Synchronize all OO module docs to look the same (PHPDOC team) 6. remove undocumented support for strings in list($a,$b) = ab 7. Move arg_info and other C constants from .data to .text (or .rdata) segment 8. Non-parsed heredocs (nowdocs) Nice to have: These are ones that we'd like to have in 5.3, but are not important enough to spend energy on before first two groups are achieved (unless of course somebody has a good working implementation). 1. cookie2 support 2. stat cache for windows/unix 3. mysqlnd 4. goto 5. __construct in interfaces 6. Compiled functions (CFs) and classes in PHP 7. Allow parser to evaluate static expressions (-1, 2+2) in compile-time (it won't work with constants (X+1)) Our 2 cents. Andi -Original Message- From: Lukas Kahwe Smith [mailto:[EMAIL PROTECTED] Sent: Monday, August 27, 2007 2:30 AM To: PHP Developers Mailing List Subject: [PHP-DEV] What should be in 5.3? Hi, In the spirit of forwards compabitility I think the 5.3 release will we very important regardless if we keep or remove the unicode switch in PHP6. From my POV 5.1 and 5.2 have mainly covered stability and performance improvements on top of the addition of several important extensions like PDO, Json etc. In terms of changes to the actual language the main thing that sticks in my head where things like E_STRICT and is_a vs. instanceOf. So now with 5.3 we might want to look ahead towards PHP6 and make sure that we add whatever makes sense to have in 5.x that will ease the life for people writing forward compatible code for PHP6. It might also be a chance to revisit the question of how we want to approach strictness and deprecation. Forward compatibility: - binary cast - namespaces - ... Strictness: - What is our philisophy, is OO more strict than procedural or is there no such differntiation? I remember the discussions about dynamic member variables, number incrementing throwing notices inconsistently, signature rewriting. I fear I am opening a can of worms with this one. Although I disagree with the bulk of the decisions on this topic in the past I am not trying to reopen the discussions, I just hope to get a clearer definition on our philosiphie for future discussions Deprecation: - Split of deprecation from E_STRICT - Rule for deprecation See the todo wiki for some hints on things currently planned (or that I heard people thinking about planning): http://oss.backendmedia.com/PhP53 http://oss.backendmedia.com/PhP60 regards, Lukas -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
As an answer to question in subject: HEAD/5.3 should be identical except for the unicode support which is the only thing PHP 6 is about. --Jani -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
Hello Lukas, I added 'MFH namespace' to the TODO list. Otherwise I am fine. For the given amount of stuff with my name on it I'd need some time though. marcus Monday, August 27, 2007, 11:30:22 AM, you wrote: Hi, In the spirit of forwards compabitility I think the 5.3 release will we very important regardless if we keep or remove the unicode switch in PHP6. From my POV 5.1 and 5.2 have mainly covered stability and performance improvements on top of the addition of several important extensions like PDO, Json etc. In terms of changes to the actual language the main thing that sticks in my head where things like E_STRICT and is_a vs. instanceOf. So now with 5.3 we might want to look ahead towards PHP6 and make sure that we add whatever makes sense to have in 5.x that will ease the life for people writing forward compatible code for PHP6. It might also be a chance to revisit the question of how we want to approach strictness and deprecation. Forward compatibility: - binary cast - namespaces - ... Strictness: - What is our philisophy, is OO more strict than procedural or is there no such differntiation? I remember the discussions about dynamic member variables, number incrementing throwing notices inconsistently, signature rewriting. I fear I am opening a can of worms with this one. Although I disagree with the bulk of the decisions on this topic in the past I am not trying to reopen the discussions, I just hope to get a clearer definition on our philosiphie for future discussions Deprecation: - Split of deprecation from E_STRICT - Rule for deprecation See the todo wiki for some hints on things currently planned (or that I heard people thinking about planning): http://oss.backendmedia.com/PhP53 http://oss.backendmedia.com/PhP60 regards, Lukas Best regards, Marcus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
Lukas Kahwe Smith schrieb: [...] - New Garbage Collector (GSoC) - Late Static Binding -- Sebastian Bergmann http://sebastian-bergmann.de/ GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
Don't you thing that a far-reaching thing like garbage collector is best left until a major release? -Andrei http://10fathoms.org/vu - daily photoblog Sebastian Bergmann wrote: Lukas Kahwe Smith schrieb: [...] - New Garbage Collector (GSoC) - Late Static Binding -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] What should be in 5.3?
Andrei Zmievski schrieb: Don't you thing that a far-reaching thing like garbage collector is best left until a major release? It is just a number. We could, of course, also take what is in HEAD minus Unicode and release it, together with Garbage Collector, Late Static Bindings, and some other pending changes as PHP 6 and make PHP 7 the Unicode Release. :-) -- Sebastian Bergmann http://sebastian-bergmann.de/ GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69 signature.asc Description: OpenPGP digital signature
RE: Re: [PHP-DEV] What should be in 5.3?
I think we're still far away from a working garbage collector which is production quality. At least last time we were discussing it. This should still remain a PHP 6 item if we can actually make it works in an acceptable way. Andi -Original Message- From: news [mailto:[EMAIL PROTECTED] On Behalf Of Sebastian Bergmann Sent: Monday, August 27, 2007 3:37 AM To: internals@lists.php.net Subject: Re: [PHP-DEV] What should be in 5.3? Lukas Kahwe Smith schrieb: [...] - New Garbage Collector (GSoC) - Late Static Binding -- Sebastian Bergmann http://sebastian- bergmann.de/ GnuPG Key: 0xB85B5D69 / 27A7 2B14 09E4 98CD 6277 0E5B 6867 C514 B85B 5D69 -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php