Hi all,
I raised this concept a couple weeks ago to a couple +1's. Discussion was
held mostly upon the PR [1], and I went through and documented within the
RFC [2]. I'd like to go ahead and open up the RFC to voting to the scope
that it is written.
--
Dave
[1] https://github.com/php/php-src/pull/2031
[2] https://wiki.php.net/rfc/notice-for-non-valid-array-container
I'd like to go ahead and open up the RFC to voting to the scope
that it is written.
Hi David,
Although I will almost certainly be voting yes, the vote does need 2/3's to pass.
All language changes require that, even if no syntax is changed.
cheers
Dan
Ack
On Tue, Aug 16, 2016 at 11:09 AM, Dan Ackroyd danack@basereality.com
wrote:
I'd like to go ahead and open up the RFC to voting to the scope
that it is written.Hi David,
Although I will almost certainly be voting yes, the vote does need 2/3's
to pass.All language changes require that, even if no syntax is changed.
cheers
Dan
Ack
While "language change" is not well-defined I agree that the vote needs to
be 2/3 here.
Will up the ante: I wasn't sure the RFC page on voting didn't really define
this, I have no probs with 2/3.
On Tue, Aug 16, 2016 at 11:09 AM, Dan Ackroyd danack@basereality.com
wrote:I'd like to go ahead and open up the RFC to voting to the scope
that it is written.Hi David,
Although I will almost certainly be voting yes, the vote does need 2/3's
to pass.All language changes require that, even if no syntax is changed.
cheers
Dan
Ack--
While "language change" is not well-defined I agree that the vote needs to
be 2/3 here.
Hi David,
I raised this concept a couple weeks ago to a couple +1's. Discussion was
held mostly upon the PR [1], and I went through and documented within the
RFC [2]. I'd like to go ahead and open up the RFC to voting to the scope
that it is written.--
Dave[1] https://github.com/php/php-src/pull/2031
[2] https://wiki.php.net/rfc/notice-for-non-valid-array-container
Could you add performance analysis section?
Thank you.
--
Yasuo Ohgaki
yohgaki@ohgaki.net
Le 16/08/2016 à 17:55, David Walker a écrit :
I'd like to go ahead and open up the RFC to voting to the scope
that it is written.
Hi,
At AFUP, we would be +1 on this RFC.
Basically: it could/will help detect problems, and the behavior change
should not cause too many bc-breaks (actually, when it does cause some,
it'll - probably - mostly be by detecting problems/bugs).
Thanks for your work on this!
--
Pascal MARTIN, AFUP - French UG
http://php-internals.afup.org/
Hi Internals,
My original time for vote ending was yesterday, however Yasuo requested I
provide some benchmarking stats to see performance impact. I apologize I
wasn't able to provide the information sooner, I was off getting married.
I'd like to extend the vote through Sunday evening in the event anyone had
reservations based on potential performance impact. The RFC is currently
sitting 15-0 in favor.
(added to RFC)
Execution Time (DualCore 3ghz; 2g ram)
- Current Master : ~0.09s (~489k operations)
- Current Master w/RFC Displaying Warnings: ~33.25s
- Current Master w/RFC Hiding Warnings: ~0.82s (~4.091m operations)
We can see there is a significant increase in operations on huge loads.
However, I wouldn't suspect 1m of these errors per request almost ever.
So, yes there is; but I'd call it useful information overhead.
--
Dave
On Tue, Aug 23, 2016 at 12:50 PM Pascal MARTIN, AFUP <
mailing@pascal-martin.fr> wrote:
Le 16/08/2016 à 17:55, David Walker a écrit :
I'd like to go ahead and open up the RFC to voting to the scope
that it is written.Hi,
At AFUP, we would be +1 on this RFC.
Basically: it could/will help detect problems, and the behavior change
should not cause too many bc-breaks (actually, when it does cause some,
it'll - probably - mostly be by detecting problems/bugs).Thanks for your work on this!
--
Pascal MARTIN, AFUP - French UG
http://php-internals.afup.org/
I'd like to extend the vote through Sunday evening in the event anyone had
reservations based on potential performance impact. The RFC is currently
sitting 15-0 in favor.
I'd recommend extending the original end date by a week, since internals
tends to vote in weekly intervals (an informal minimal reasonable response
time, I suppose).
(added to RFC)
Execution Time (DualCore 3ghz; 2g ram)
- Current Master : ~0.09s (~489k operations)
- Current Master w/RFC Displaying Warnings: ~33.25s
- Current Master w/RFC Hiding Warnings: ~0.82s (~4.091m operations)
We can see there is a significant increase in operations on huge loads.
However, I wouldn't suspect 1m of these errors per request almost ever.
So, yes there is; but I'd call it useful information overhead.
I've not looked at the code. How much, if at all, does the RFC change the
happy path operation, on a test like this?
$a = [ 'foo' ];
for ($i = 0; $i < 1000000; $i++) { $a[0]; }
Notwithstanding, I feel the ops increase 10x is worth it: this is a subtle
code problem.
On Wed, Aug 24, 2016 at 10:58 AM, David Walker dave+php@mudsite.com
wrote:I'd like to extend the vote through Sunday evening in the event anyone had
reservations based on potential performance impact. The RFC is currently
sitting 15-0 in favor.I'd recommend extending the original end date by a week, since internals
tends to vote in weekly intervals (an informal minimal reasonable response
time, I suppose).
Good to know the general convention here. I'll extend a week until
Wednesday the 31st.
(added to RFC)
Execution Time (DualCore 3ghz; 2g ram)
- Current Master : ~0.09s (~489k operations)
- Current Master w/RFC Displaying Warnings: ~33.25s
- Current Master w/RFC Hiding Warnings: ~0.82s (~4.091m operations)
We can see there is a significant increase in operations on huge loads.
However, I wouldn't suspect 1m of these errors per request almost ever.
So, yes there is; but I'd call it useful information overhead.I've not looked at the code. How much, if at all, does the RFC change the
happy path operation, on a test like this?$a = [ 'foo' ];
for ($i = 0; $i < 1000000; $i++) { $a[0]; }Notwithstanding, I feel the ops increase 10x is worth it: this is a subtle
code problem.
That is my thoughts too. When testing this change against my product I
uncovered 10 cases of this warning being raised (which was actually
helpful), but only ever 2-3 per request. So I'd imagine it's never going
to come to the 1m+ happenings per request ever.
And for your given test case, since $a[0] is defined (as 'foo') the change
in this RFC is not triggered, so there is no difference between any of the
testings.
--
Dave
I raised this concept a couple weeks ago to a couple +1's. Discussion was
held mostly upon the PR [1], and I went through and documented within the
RFC [2]. I'd like to go ahead and open up the RFC to voting to the scope
that it is written.[1] https://github.com/php/php-src/pull/2031
[2] https://wiki.php.net/rfc/notice-for-non-valid-array-container
For the record, the RFC rightly claims:
| The default behavior, of a silent NULL
return, is not correctly
| defined in the Array Documentation however is noted in a comment
I have documented this behavior now[3], and removed the note, which was
not quite correct, because it claimed that TRUE
would be returned when
array dereferencing NULL, bool or int.
[3] http://svn.php.net/viewvc?view=revision&revision=339937
--
Christoph M. Becker