After the latest changes the patch became better.

>From a quick look I see two issues.

The following 3 tests are failed (crashed with opcache.protect_memory=1)


> Test typed properties float widen at runtime 
> [Zend/tests/type_declarations/typed_properties_027.phpt]
> Test typed properties respect strict types (off) 
> [Zend/tests/type_declarations/typed_properties_028.phpt]
> Test typed properties unset __get magical magic 
> [Zend/tests/type_declarations/typed_properties_030.phpt]


Insignificant white space changes and reformatting should be removed from the 
patch (this would simplify the review).


I'll need to take a deeper look once again, after the opcache compatibility fix.


Thanks. Dmitry.

________________________________
From: Joe Watkins <pthre...@pthreads.org>
Sent: Monday, May 23, 2016 1:16:22 PM
To: Julien Pauli
Cc: Stanislav Malyshev; Dmitry Stogov; PHP internals; Phil Sturgeon
Subject: Re: [PHP-DEV] [RFC][Vote] Typed Properties

Morning internals,

    I have improved the performance of the patch a little, here's the results 
of a bad run:

    krakjoe@fiji:/usr/src/php-src$ sapi/cli/php -n prop.php
    empty_loop         0.064
    write_prop1()      0.088    0.025
    write_prop2()      0.079    0.016
    write_prop3()      0.082    0.018
    ------------------------
    Total              0.314

    There is going to be overhead, not the kind we can't minimize, or justify 
though.

    Dmitry has said he'll review, and I'm hoping at least Laruence, Nikita, and 
Bob will do the same ...

    We have many weeks to improve the implementation, I'm not going to merge 
anything that's obviously bad :)

Cheers
Joe


On Mon, May 23, 2016 at 10:54 AM, Julien Pauli 
<jpa...@php.net<mailto:jpa...@php.net>> wrote:
On Mon, May 23, 2016 at 11:09 AM, Stanislav Malyshev
<smalys...@gmail.com<mailto:smalys...@gmail.com>> wrote:
> Hi!
>
>> The performance effect of this implementation is terrible.
>>
>> Assignment to typed property is 2.3 times slower.
>> Assignment to untyped property in a class with typed properties is 1.8 times 
>> slower.
>>
>> See the benchmark
>> https://gist.github.com/dstogov/1b678712adeee51665cdd829195bb800
>
> This is not good. I wonder why these tests weren't made before the vote
> and results wheren't added in the RFC. Should we make it a standard
> practice to do so? Having 2x slowdown on each property access sounds
> like a bad idea.

The question is :
* should the vote be an idea-based vote, or integrate the code into the vote ?

My vote did not integrate the code, but the feature.

The idea is that if the RFC passes, then the feature is agreed, and we
still have some time to find a better implementation.
If we could not find one, then the feature should be abandoned or
post-poned until a new patch. If the new patch changes the
implementation, then the RFC should be reopened.

My thoughts.

Julien.Pauli

Reply via email to