-
Notifications
You must be signed in to change notification settings - Fork 7.8k
Edit UPGRADE for new pgsql functions #63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Closed
Closed
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Comment on behalf of stas at php.net: merged |
sebpop
pushed a commit
to sebpop/php-src
that referenced
this pull request
Apr 30, 2019
On A72, google-benchmark measure before and after the patch: -------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------- BM_add_before 13.3 ns 13.3 ns 52626058 BM_sub_before 8.72 ns 8.72 ns 80259343 BM_add_after 4.80 ns 4.80 ns 145926004 BM_sub_after 4.80 ns 4.80 ns 145936496 Before the patch: fast_long_add_function: ldr x1, [x1] ldr x2, [x2] add x3, x1, x2 eor x4, x1, x2 tbz x4, php#63, .L5 .L2: mov w1, 4 str x3, [x0] str w1, [x0, 8] ret .p2align 2 .L5: eor x4, x1, x3 tbz x4, php#63, .L2 scvtf d0, x1 scvtf d1, x2 mov w1, 5 str w1, [x0, 8] fadd d0, d0, d1 str d0, [x0] ret With the patch: fast_long_add_function: ldr x1, [x1] ldr x2, [x2] adds x1, x1, x2 bvs .L2 mov w2, 4 str x1, [x0] str w2, [x0, 8] ret .L2: ldr x1, [x1] mov w3, 5 ldr x2, [x2] str w3, [x0, 8] scvtf d0, x1 scvtf d1, x2 fadd d0, d0, d1 str d0, [x0] ret php$ ./sapi/cli/php Zend/bench.php Base: Patch: simple 0.091 simple 0.091 simplecall 0.014 simplecall 0.014 simpleucall 0.041 simpleucall 0.041 simpleudcall 0.045 simpleudcall 0.045 mandel 0.193 mandel 0.193 mandel2 0.229 mandel2 0.229 ackermann(7) 0.044 ackermann(7) 0.044 ary(50000) 0.010 ary(50000) 0.010 ary2(50000) 0.008 ary2(50000) 0.008 ary3(2000) 0.096 ary3(2000) 0.095 fibo(30) 0.149 fibo(30) 0.148 hash1(50000) 0.016 hash1(50000) 0.016 hash2(500) 0.020 hash2(500) 0.020 heapsort(20000) 0.055 heapsort(20000) 0.054 matrix(20) 0.057 matrix(20) 0.057 nestedloop(12) 0.091 nestedloop(12) 0.091 sieve(30) 0.032 sieve(30) 0.032 strcat(200000) 0.010 strcat(200000) 0.010 ------------------------ ------------------------ Total 1.199 Total 1.197 php$ ./sapi/cli/php Zend/micro_bench.php Base: Patch: empty_loop 0.051 empty_loop 0.051 func() 0.181 0.130 func() 0.181 0.130 undef_func() 0.186 0.135 undef_func() 0.186 0.135 int_func() 0.116 0.064 int_func() 0.116 0.064 $x = self::$x 0.235 0.183 $x = self::$x 0.233 0.182 self::$x = 0 0.198 0.147 self::$x = 0 0.198 0.147 isset(self::$x) 0.229 0.178 isset(self::$x) 0.229 0.178 empty(self::$x) 0.231 0.180 empty(self::$x) 0.231 0.180 $x = Foo::$x 0.144 0.093 $x = Foo::$x 0.144 0.093 Foo::$x = 0 0.107 0.056 Foo::$x = 0 0.107 0.056 isset(Foo::$x) 0.140 0.088 isset(Foo::$x) 0.140 0.088 empty(Foo::$x) 0.148 0.097 empty(Foo::$x) 0.148 0.097 self::f() 0.238 0.187 self::f() 0.238 0.187 Foo::f() 0.209 0.158 Foo::f() 0.209 0.158 $x = $this->x 0.123 0.072 $x = $this->x 0.123 0.072 $this->x = 0 0.124 0.073 $this->x = 0 0.124 0.073 $this->x += 2 0.151 0.099 $this->x += 2 0.153 0.101 ++$this->x 0.137 0.086 ++$this->x 0.138 0.086 --$this->x 0.137 0.086 --$this->x 0.138 0.086 $this->x++ 0.170 0.119 $this->x++ 0.172 0.121 $this->x-- 0.171 0.119 $this->x-- 0.172 0.121 isset($this->x) 0.170 0.119 isset($this->x) 0.170 0.119 empty($this->x) 0.179 0.128 empty($this->x) 0.179 0.128 $this->f() 0.194 0.143 $this->f() 0.194 0.143 $x = Foo::TEST 0.188 0.137 $x = Foo::TEST 0.188 0.136 new Foo() 0.482 0.431 new Foo() 0.479 0.427 $x = TEST 0.109 0.058 $x = TEST 0.109 0.058 $x = $_GET 0.190 0.138 $x = $_GET 0.190 0.139 $x = $GLOBALS['v'] 0.242 0.191 $x = $GLOBALS['v'] 0.242 0.191 $x = $hash['v'] 0.196 0.145 $x = $hash['v'] 0.196 0.145 $x = $str[0] 0.146 0.094 $x = $str[0] 0.145 0.094 $x = $a ?: null 0.144 0.093 $x = $a ?: null 0.144 0.093 $x = $f ?: tmp 0.174 0.123 $x = $f ?: tmp 0.174 0.123 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : tmp 0.148 0.097 $x = $f ? $f : tmp 0.148 0.097 ------------------------ ------------------------ Total 6.143 Total 6.143
sebpop
pushed a commit
to sebpop/php-src
that referenced
this pull request
Apr 30, 2019
On A72, google-benchmark measure before and after the patch: -------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------- BM_add_before 13.3 ns 13.3 ns 52626058 BM_sub_before 8.72 ns 8.72 ns 80259343 BM_add_after 4.80 ns 4.80 ns 145926004 BM_sub_after 4.80 ns 4.80 ns 145936496 Before the patch: fast_long_add_function: ldr x1, [x1] ldr x2, [x2] add x3, x1, x2 eor x4, x1, x2 tbz x4, php#63, .L5 .L2: mov w1, 4 str x3, [x0] str w1, [x0, 8] ret .p2align 2 .L5: eor x4, x1, x3 tbz x4, php#63, .L2 scvtf d0, x1 scvtf d1, x2 mov w1, 5 str w1, [x0, 8] fadd d0, d0, d1 str d0, [x0] ret With the patch: fast_long_add_function: ldr x1, [x1] ldr x2, [x2] adds x1, x1, x2 bvs .L2 mov w5, 4 str x1, [x0] str w5, [x0, 8] ret .L2: ldr x1, [x1] mov w3, 5 ldr x2, [x2] str w3, [x0, 8] scvtf d0, x1 scvtf d1, x2 fadd d0, d0, d1 str d0, [x0] ret php$ ./sapi/cli/php Zend/bench.php Base: Patch: simple 0.091 simple 0.091 simplecall 0.014 simplecall 0.014 simpleucall 0.041 simpleucall 0.041 simpleudcall 0.045 simpleudcall 0.045 mandel 0.193 mandel 0.193 mandel2 0.229 mandel2 0.229 ackermann(7) 0.044 ackermann(7) 0.044 ary(50000) 0.010 ary(50000) 0.010 ary2(50000) 0.008 ary2(50000) 0.008 ary3(2000) 0.096 ary3(2000) 0.095 fibo(30) 0.149 fibo(30) 0.148 hash1(50000) 0.016 hash1(50000) 0.016 hash2(500) 0.020 hash2(500) 0.020 heapsort(20000) 0.055 heapsort(20000) 0.054 matrix(20) 0.057 matrix(20) 0.057 nestedloop(12) 0.091 nestedloop(12) 0.091 sieve(30) 0.032 sieve(30) 0.032 strcat(200000) 0.010 strcat(200000) 0.010 ------------------------ ------------------------ Total 1.199 Total 1.197 php$ ./sapi/cli/php Zend/micro_bench.php Base: Patch: empty_loop 0.051 empty_loop 0.051 func() 0.181 0.130 func() 0.181 0.130 undef_func() 0.186 0.135 undef_func() 0.186 0.135 int_func() 0.116 0.064 int_func() 0.116 0.064 $x = self::$x 0.235 0.183 $x = self::$x 0.233 0.182 self::$x = 0 0.198 0.147 self::$x = 0 0.198 0.147 isset(self::$x) 0.229 0.178 isset(self::$x) 0.229 0.178 empty(self::$x) 0.231 0.180 empty(self::$x) 0.231 0.180 $x = Foo::$x 0.144 0.093 $x = Foo::$x 0.144 0.093 Foo::$x = 0 0.107 0.056 Foo::$x = 0 0.107 0.056 isset(Foo::$x) 0.140 0.088 isset(Foo::$x) 0.140 0.088 empty(Foo::$x) 0.148 0.097 empty(Foo::$x) 0.148 0.097 self::f() 0.238 0.187 self::f() 0.238 0.187 Foo::f() 0.209 0.158 Foo::f() 0.209 0.158 $x = $this->x 0.123 0.072 $x = $this->x 0.123 0.072 $this->x = 0 0.124 0.073 $this->x = 0 0.124 0.073 $this->x += 2 0.151 0.099 $this->x += 2 0.153 0.101 ++$this->x 0.137 0.086 ++$this->x 0.138 0.086 --$this->x 0.137 0.086 --$this->x 0.138 0.086 $this->x++ 0.170 0.119 $this->x++ 0.172 0.121 $this->x-- 0.171 0.119 $this->x-- 0.172 0.121 isset($this->x) 0.170 0.119 isset($this->x) 0.170 0.119 empty($this->x) 0.179 0.128 empty($this->x) 0.179 0.128 $this->f() 0.194 0.143 $this->f() 0.194 0.143 $x = Foo::TEST 0.188 0.137 $x = Foo::TEST 0.188 0.136 new Foo() 0.482 0.431 new Foo() 0.479 0.427 $x = TEST 0.109 0.058 $x = TEST 0.109 0.058 $x = $_GET 0.190 0.138 $x = $_GET 0.190 0.139 $x = $GLOBALS['v'] 0.242 0.191 $x = $GLOBALS['v'] 0.242 0.191 $x = $hash['v'] 0.196 0.145 $x = $hash['v'] 0.196 0.145 $x = $str[0] 0.146 0.094 $x = $str[0] 0.145 0.094 $x = $a ?: null 0.144 0.093 $x = $a ?: null 0.144 0.093 $x = $f ?: tmp 0.174 0.123 $x = $f ?: tmp 0.174 0.123 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : tmp 0.148 0.097 $x = $f ? $f : tmp 0.148 0.097 ------------------------ ------------------------ Total 6.143 Total 6.143
sebpop
pushed a commit
to sebpop/php-src
that referenced
this pull request
May 1, 2019
On A72, google-benchmark measure before and after the patch: -------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------- BM_add_before 13.3 ns 13.3 ns 52626058 BM_sub_before 8.72 ns 8.72 ns 80259343 BM_add_after 4.80 ns 4.80 ns 145926004 BM_sub_after 4.80 ns 4.80 ns 145936496 Before the patch: fast_long_add_function: ldr x1, [x1] ldr x2, [x2] add x3, x1, x2 eor x4, x1, x2 tbz x4, php#63, .L5 .L2: mov w1, 4 str x3, [x0] str w1, [x0, 8] ret .p2align 2 .L5: eor x4, x1, x3 tbz x4, php#63, .L2 scvtf d0, x1 scvtf d1, x2 mov w1, 5 str w1, [x0, 8] fadd d0, d0, d1 str d0, [x0] ret With the patch: fast_long_add_function: ldr x5, [x1] ldr x6, [x2] adds x5, x5, x6 bvs .L2 mov w6, 4 str x5, [x0] str w6, [x0, 8] ret .L2: ldr x1, [x1] mov w3, 5 ldr x2, [x2] str w3, [x0, 8] scvtf d0, x1 scvtf d1, x2 fadd d0, d0, d1 str d0, [x0] ret php$ ./sapi/cli/php Zend/bench.php Base: Patch: simple 0.091 simple 0.091 simplecall 0.014 simplecall 0.014 simpleucall 0.041 simpleucall 0.041 simpleudcall 0.045 simpleudcall 0.045 mandel 0.193 mandel 0.193 mandel2 0.229 mandel2 0.229 ackermann(7) 0.044 ackermann(7) 0.044 ary(50000) 0.010 ary(50000) 0.010 ary2(50000) 0.008 ary2(50000) 0.008 ary3(2000) 0.096 ary3(2000) 0.095 fibo(30) 0.149 fibo(30) 0.148 hash1(50000) 0.016 hash1(50000) 0.016 hash2(500) 0.020 hash2(500) 0.020 heapsort(20000) 0.055 heapsort(20000) 0.054 matrix(20) 0.057 matrix(20) 0.057 nestedloop(12) 0.091 nestedloop(12) 0.091 sieve(30) 0.032 sieve(30) 0.032 strcat(200000) 0.010 strcat(200000) 0.010 ------------------------ ------------------------ Total 1.199 Total 1.197 php$ ./sapi/cli/php Zend/micro_bench.php Base: Patch: empty_loop 0.051 empty_loop 0.051 func() 0.181 0.130 func() 0.181 0.130 undef_func() 0.186 0.135 undef_func() 0.186 0.135 int_func() 0.116 0.064 int_func() 0.116 0.064 $x = self::$x 0.235 0.183 $x = self::$x 0.233 0.182 self::$x = 0 0.198 0.147 self::$x = 0 0.198 0.147 isset(self::$x) 0.229 0.178 isset(self::$x) 0.229 0.178 empty(self::$x) 0.231 0.180 empty(self::$x) 0.231 0.180 $x = Foo::$x 0.144 0.093 $x = Foo::$x 0.144 0.093 Foo::$x = 0 0.107 0.056 Foo::$x = 0 0.107 0.056 isset(Foo::$x) 0.140 0.088 isset(Foo::$x) 0.140 0.088 empty(Foo::$x) 0.148 0.097 empty(Foo::$x) 0.148 0.097 self::f() 0.238 0.187 self::f() 0.238 0.187 Foo::f() 0.209 0.158 Foo::f() 0.209 0.158 $x = $this->x 0.123 0.072 $x = $this->x 0.123 0.072 $this->x = 0 0.124 0.073 $this->x = 0 0.124 0.073 $this->x += 2 0.151 0.099 $this->x += 2 0.153 0.101 ++$this->x 0.137 0.086 ++$this->x 0.138 0.086 --$this->x 0.137 0.086 --$this->x 0.138 0.086 $this->x++ 0.170 0.119 $this->x++ 0.172 0.121 $this->x-- 0.171 0.119 $this->x-- 0.172 0.121 isset($this->x) 0.170 0.119 isset($this->x) 0.170 0.119 empty($this->x) 0.179 0.128 empty($this->x) 0.179 0.128 $this->f() 0.194 0.143 $this->f() 0.194 0.143 $x = Foo::TEST 0.188 0.137 $x = Foo::TEST 0.188 0.136 new Foo() 0.482 0.431 new Foo() 0.479 0.427 $x = TEST 0.109 0.058 $x = TEST 0.109 0.058 $x = $_GET 0.190 0.138 $x = $_GET 0.190 0.139 $x = $GLOBALS['v'] 0.242 0.191 $x = $GLOBALS['v'] 0.242 0.191 $x = $hash['v'] 0.196 0.145 $x = $hash['v'] 0.196 0.145 $x = $str[0] 0.146 0.094 $x = $str[0] 0.145 0.094 $x = $a ?: null 0.144 0.093 $x = $a ?: null 0.144 0.093 $x = $f ?: tmp 0.174 0.123 $x = $f ?: tmp 0.174 0.123 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : tmp 0.148 0.097 $x = $f ? $f : tmp 0.148 0.097 ------------------------ ------------------------ Total 6.143 Total 6.143
sebpop
pushed a commit
to sebpop/php-src
that referenced
this pull request
May 6, 2019
On A72, google-benchmark measure before and after the patch: -------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------- BM_add_before 13.3 ns 13.3 ns 52626058 BM_sub_before 8.72 ns 8.72 ns 80259343 BM_add_after 4.80 ns 4.80 ns 145926004 BM_sub_after 4.80 ns 4.80 ns 145936496 Before the patch: fast_long_add_function: ldr x1, [x1] ldr x2, [x2] add x3, x1, x2 eor x4, x1, x2 tbz x4, php#63, .L5 .L2: mov w1, 4 str x3, [x0] str w1, [x0, 8] ret .p2align 2 .L5: eor x4, x1, x3 tbz x4, php#63, .L2 scvtf d0, x1 scvtf d1, x2 mov w1, 5 str w1, [x0, 8] fadd d0, d0, d1 str d0, [x0] ret With the patch: fast_long_add_function: ldr x5, [x1] ldr x6, [x2] adds x5, x5, x6 bvs .L2 mov w6, 4 str x5, [x0] str w6, [x0, 8] ret .L2: ldr x1, [x1] mov w3, 5 ldr x2, [x2] str w3, [x0, 8] scvtf d0, x1 scvtf d1, x2 fadd d0, d0, d1 str d0, [x0] ret php$ ./sapi/cli/php Zend/bench.php Base: Patch: simple 0.091 simple 0.091 simplecall 0.014 simplecall 0.014 simpleucall 0.041 simpleucall 0.041 simpleudcall 0.045 simpleudcall 0.045 mandel 0.193 mandel 0.193 mandel2 0.229 mandel2 0.229 ackermann(7) 0.044 ackermann(7) 0.044 ary(50000) 0.010 ary(50000) 0.010 ary2(50000) 0.008 ary2(50000) 0.008 ary3(2000) 0.096 ary3(2000) 0.095 fibo(30) 0.149 fibo(30) 0.148 hash1(50000) 0.016 hash1(50000) 0.016 hash2(500) 0.020 hash2(500) 0.020 heapsort(20000) 0.055 heapsort(20000) 0.054 matrix(20) 0.057 matrix(20) 0.057 nestedloop(12) 0.091 nestedloop(12) 0.091 sieve(30) 0.032 sieve(30) 0.032 strcat(200000) 0.010 strcat(200000) 0.010 ------------------------ ------------------------ Total 1.199 Total 1.197 php$ ./sapi/cli/php Zend/micro_bench.php Base: Patch: empty_loop 0.051 empty_loop 0.051 func() 0.181 0.130 func() 0.181 0.130 undef_func() 0.186 0.135 undef_func() 0.186 0.135 int_func() 0.116 0.064 int_func() 0.116 0.064 $x = self::$x 0.235 0.183 $x = self::$x 0.233 0.182 self::$x = 0 0.198 0.147 self::$x = 0 0.198 0.147 isset(self::$x) 0.229 0.178 isset(self::$x) 0.229 0.178 empty(self::$x) 0.231 0.180 empty(self::$x) 0.231 0.180 $x = Foo::$x 0.144 0.093 $x = Foo::$x 0.144 0.093 Foo::$x = 0 0.107 0.056 Foo::$x = 0 0.107 0.056 isset(Foo::$x) 0.140 0.088 isset(Foo::$x) 0.140 0.088 empty(Foo::$x) 0.148 0.097 empty(Foo::$x) 0.148 0.097 self::f() 0.238 0.187 self::f() 0.238 0.187 Foo::f() 0.209 0.158 Foo::f() 0.209 0.158 $x = $this->x 0.123 0.072 $x = $this->x 0.123 0.072 $this->x = 0 0.124 0.073 $this->x = 0 0.124 0.073 $this->x += 2 0.151 0.099 $this->x += 2 0.153 0.101 ++$this->x 0.137 0.086 ++$this->x 0.138 0.086 --$this->x 0.137 0.086 --$this->x 0.138 0.086 $this->x++ 0.170 0.119 $this->x++ 0.172 0.121 $this->x-- 0.171 0.119 $this->x-- 0.172 0.121 isset($this->x) 0.170 0.119 isset($this->x) 0.170 0.119 empty($this->x) 0.179 0.128 empty($this->x) 0.179 0.128 $this->f() 0.194 0.143 $this->f() 0.194 0.143 $x = Foo::TEST 0.188 0.137 $x = Foo::TEST 0.188 0.136 new Foo() 0.482 0.431 new Foo() 0.479 0.427 $x = TEST 0.109 0.058 $x = TEST 0.109 0.058 $x = $_GET 0.190 0.138 $x = $_GET 0.190 0.139 $x = $GLOBALS['v'] 0.242 0.191 $x = $GLOBALS['v'] 0.242 0.191 $x = $hash['v'] 0.196 0.145 $x = $hash['v'] 0.196 0.145 $x = $str[0] 0.146 0.094 $x = $str[0] 0.145 0.094 $x = $a ?: null 0.144 0.093 $x = $a ?: null 0.144 0.093 $x = $f ?: tmp 0.174 0.123 $x = $f ?: tmp 0.174 0.123 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : tmp 0.148 0.097 $x = $f ? $f : tmp 0.148 0.097 ------------------------ ------------------------ Total 6.143 Total 6.143
php-pulls
pushed a commit
that referenced
this pull request
May 7, 2019
On A72, google-benchmark measure before and after the patch: -------------------------------------------------------- Benchmark Time CPU Iterations -------------------------------------------------------- BM_add_before 13.3 ns 13.3 ns 52626058 BM_sub_before 8.72 ns 8.72 ns 80259343 BM_add_after 4.80 ns 4.80 ns 145926004 BM_sub_after 4.80 ns 4.80 ns 145936496 Before the patch: fast_long_add_function: ldr x1, [x1] ldr x2, [x2] add x3, x1, x2 eor x4, x1, x2 tbz x4, #63, .L5 .L2: mov w1, 4 str x3, [x0] str w1, [x0, 8] ret .p2align 2 .L5: eor x4, x1, x3 tbz x4, #63, .L2 scvtf d0, x1 scvtf d1, x2 mov w1, 5 str w1, [x0, 8] fadd d0, d0, d1 str d0, [x0] ret With the patch: fast_long_add_function: ldr x5, [x1] ldr x6, [x2] adds x5, x5, x6 bvs .L2 mov w6, 4 str x5, [x0] str w6, [x0, 8] ret .L2: ldr x1, [x1] mov w3, 5 ldr x2, [x2] str w3, [x0, 8] scvtf d0, x1 scvtf d1, x2 fadd d0, d0, d1 str d0, [x0] ret php$ ./sapi/cli/php Zend/bench.php Base: Patch: simple 0.091 simple 0.091 simplecall 0.014 simplecall 0.014 simpleucall 0.041 simpleucall 0.041 simpleudcall 0.045 simpleudcall 0.045 mandel 0.193 mandel 0.193 mandel2 0.229 mandel2 0.229 ackermann(7) 0.044 ackermann(7) 0.044 ary(50000) 0.010 ary(50000) 0.010 ary2(50000) 0.008 ary2(50000) 0.008 ary3(2000) 0.096 ary3(2000) 0.095 fibo(30) 0.149 fibo(30) 0.148 hash1(50000) 0.016 hash1(50000) 0.016 hash2(500) 0.020 hash2(500) 0.020 heapsort(20000) 0.055 heapsort(20000) 0.054 matrix(20) 0.057 matrix(20) 0.057 nestedloop(12) 0.091 nestedloop(12) 0.091 sieve(30) 0.032 sieve(30) 0.032 strcat(200000) 0.010 strcat(200000) 0.010 ------------------------ ------------------------ Total 1.199 Total 1.197 php$ ./sapi/cli/php Zend/micro_bench.php Base: Patch: empty_loop 0.051 empty_loop 0.051 func() 0.181 0.130 func() 0.181 0.130 undef_func() 0.186 0.135 undef_func() 0.186 0.135 int_func() 0.116 0.064 int_func() 0.116 0.064 $x = self::$x 0.235 0.183 $x = self::$x 0.233 0.182 self::$x = 0 0.198 0.147 self::$x = 0 0.198 0.147 isset(self::$x) 0.229 0.178 isset(self::$x) 0.229 0.178 empty(self::$x) 0.231 0.180 empty(self::$x) 0.231 0.180 $x = Foo::$x 0.144 0.093 $x = Foo::$x 0.144 0.093 Foo::$x = 0 0.107 0.056 Foo::$x = 0 0.107 0.056 isset(Foo::$x) 0.140 0.088 isset(Foo::$x) 0.140 0.088 empty(Foo::$x) 0.148 0.097 empty(Foo::$x) 0.148 0.097 self::f() 0.238 0.187 self::f() 0.238 0.187 Foo::f() 0.209 0.158 Foo::f() 0.209 0.158 $x = $this->x 0.123 0.072 $x = $this->x 0.123 0.072 $this->x = 0 0.124 0.073 $this->x = 0 0.124 0.073 $this->x += 2 0.151 0.099 $this->x += 2 0.153 0.101 ++$this->x 0.137 0.086 ++$this->x 0.138 0.086 --$this->x 0.137 0.086 --$this->x 0.138 0.086 $this->x++ 0.170 0.119 $this->x++ 0.172 0.121 $this->x-- 0.171 0.119 $this->x-- 0.172 0.121 isset($this->x) 0.170 0.119 isset($this->x) 0.170 0.119 empty($this->x) 0.179 0.128 empty($this->x) 0.179 0.128 $this->f() 0.194 0.143 $this->f() 0.194 0.143 $x = Foo::TEST 0.188 0.137 $x = Foo::TEST 0.188 0.136 new Foo() 0.482 0.431 new Foo() 0.479 0.427 $x = TEST 0.109 0.058 $x = TEST 0.109 0.058 $x = $_GET 0.190 0.138 $x = $_GET 0.190 0.139 $x = $GLOBALS['v'] 0.242 0.191 $x = $GLOBALS['v'] 0.242 0.191 $x = $hash['v'] 0.196 0.145 $x = $hash['v'] 0.196 0.145 $x = $str[0] 0.146 0.094 $x = $str[0] 0.145 0.094 $x = $a ?: null 0.144 0.093 $x = $a ?: null 0.144 0.093 $x = $f ?: tmp 0.174 0.123 $x = $f ?: tmp 0.174 0.123 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : tmp 0.148 0.097 $x = $f ? $f : tmp 0.148 0.097 ------------------------ ------------------------ Total 6.143 Total 6.143
shqking
added a commit
to shqking/php-src
that referenced
this pull request
Jun 9, 2021
'tbnz/tbz' instruction can be used to check whether a given W or X register value is negative or positive. For example, ``` tst x0, x0 blt >1 ``` can be optimized as `tbnz x0, php#63, >1` It's important to note that the jump range of 'tbnz/tbz' is limited, and it's better NOT to use 'tbnz/tbz' if the target of 'b.cond' is a label in section .cold_code or a global label, such as the instruction sequence `tst RETVALw, RETVALw; blt ->trace_halt` at function zend_jit_trace_exit_stub(), and the instruction sequence `tst REG0, REG0; blt >7` at function zend_jit_incdec_obj(). Minor updates: Use macros BW_OP_32_WITH_CONST and GC_ADDREF at function zend_jit_push_call_frame(). Change-Id: I1597609bdabf55ea2f9d24528e7a037bc3e5c3a1
shqking
added a commit
that referenced
this pull request
Jun 9, 2021
'tbnz/tbz' instruction can be used to check whether a given W or X register value is negative or positive. For example, ``` tst x0, x0 blt >1 ``` can be optimized as `tbnz x0, #63, >1` It's important to note that the jump range of 'tbnz/tbz' is limited, and it's better NOT to use 'tbnz/tbz' if the target of 'b.cond' is a label in section .cold_code or a global label, such as the instruction sequence `tst RETVALw, RETVALw; blt ->trace_halt` at function zend_jit_trace_exit_stub(), and the instruction sequence `tst REG0, REG0; blt >7` at function zend_jit_incdec_obj(). Minor updates: Use macros BW_OP_32_WITH_CONST and GC_ADDREF at function zend_jit_push_call_frame(). Change-Id: I1597609bdabf55ea2f9d24528e7a037bc3e5c3a1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is for Stats that adds UPGRADE note for new pgsql functions.