Hi,

On Thu, January 1, 2015 13:30, Dmitry Stogov wrote:
> Thanks for analizing.
> did you say "8.5 more" instructions? in my test I saw "less".
>
> It's really an intermedie step, and we probably will check if other
> optimizations are reaaly benefitable before committing this. But yes, this
>  patch doesn't make any degradation, except for slight increase of memory
>  consumption.
>
yeah, i'm afraid that's a typo, less instruction retired. Here's the full
report I have, rerun the profiling a couple of times again to be sure. The
numbers on the right are from the patch and on the left from the
mainstream.

Elapsed Time:   2.428s - 2.088s = 0.339s
    Clockticks: 5,891,879,618 - 5,800,714,085 = 91,165,533
    Instructions Retired:       10,148,429,042 - 10,121,040,536 = 27,388,506
    CPI Rate:   0.581 - 0.573 = 0.007
    MUX Reliability:    0.985 - 0.977 = 0.008
    Paused Time:        0.263s - 0s = 0.263s
    Filled Pipeline Slots:
        Retiring:       0.483 - 0.488 = -0.006
            Assists:    0.000 - 0.000 = 0.000
        Bad Speculation:        1.000 - 0.890 = 0.110
            Branch Mispredict:  1.000 - 1.000 = 0.000
            Machine Clears:     0.000 - 0.000 = 0.000
    Unfilled Pipeline Slots (Stalls):
        Back-end Bound: 0.049 - 0.105 = -0.056
            DIV Active: 0.000 - 0.000 = 0.000
            Flags Merge Stalls: 0.006 - 0.000 = 0.006
            Slow LEA Stalls:    0.006 - 0.000 = 0.006
            Memory Latency:
                LLC Miss:       0.000 - 0.000 = 0.000
                LLC Hit:        0.000 - 0.000 = 0.000
                DTLB Overhead:  0.000 - 0.001 = -0.001
                Contested Accesses:     0.000 - 0.000 = 0.000
                Data Sharing:   0.000 - 0.000 = 0.000
            Memory Replacements:
                L1D Replacement Percentage:     0.000 - 0.000 = 0.000
                L2 Replacement Percentage:      1.000 - 1.000 = 0.000
                LLC Replacement Percentage:     0.000 - 0.000 = 0.000
            Memory Reissues:
                Loads Blocked by Store Forwarding:      0.000 - 0.000 = 0.000
                Split Loads:    0.000 - 0.000 = 0.000
                Split Stores:   0.000 - 0.000 = 0.000
                4K Aliasing:    0.011 - 0.013 = -0.003
        Front-end Bound:        0.137 - 0.100 = 0.037
            ICache Misses:      0.000 - 0.000 = 0.000
            ITLB Overhead:      0.000 - 0.000 = 0.000
            DSB Switches:       0.000 - 0.000 = 0.000

As one sees, the instruction count vary, but that's most likely because of
the measurement uncertainty.

Regards

Anatol


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to