Re: Re: [PHP-DEV] What should be in 5.3?

2007-08-29 Thread Jani Taskinen
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?

2007-08-29 Thread Andi Gutmans
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?

2007-08-29 Thread Sebastian Bergmann
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?

2007-08-29 Thread Andi Gutmans
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?

2007-08-29 Thread Sebastian Bergmann
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?

2007-08-29 Thread Andrey Hristov
 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?

2007-08-29 Thread Stanislav Malyshev

 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?

2007-08-29 Thread Rasmus Lerdorf
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?

2007-08-29 Thread Pierre
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?

2007-08-29 Thread Cristian Rodriguez
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?

2007-08-28 Thread Derick Rethans
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?

2007-08-28 Thread Cristian Rodriguez
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?

2007-08-28 Thread Andi Gutmans
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?

2007-08-27 Thread Jani Taskinen
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?

2007-08-27 Thread Marcus Boerger
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?

2007-08-27 Thread Sebastian Bergmann
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?

2007-08-27 Thread Andrei Zmievski
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?

2007-08-27 Thread Sebastian Bergmann
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?

2007-08-27 Thread Andi Gutmans
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