]>
granicus.if.org Git - php/log
Peter Kokot [Sat, 11 May 2019 01:28:11 +0000 (03:28 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Rename *.jpeg files to *.jpg
Peter Kokot [Sat, 11 May 2019 01:22:19 +0000 (03:22 +0200)]
Rename *.jpeg files to *.jpg
These file extensions are not part of these tests and *.jpg is more
common.
Peter Kokot [Fri, 10 May 2019 22:25:31 +0000 (00:25 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Bump config.guess and config.sub
Peter Kokot [Fri, 10 May 2019 22:24:26 +0000 (00:24 +0200)]
Bump config.guess and config.sub
```
wget -O config.guess 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD'
wget -O config.sub 'https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD'
```
Peter Kokot [Fri, 10 May 2019 20:58:29 +0000 (22:58 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove unused variables
Peter Kokot [Fri, 10 May 2019 02:02:14 +0000 (04:02 +0200)]
Remove unused variables
Christoph M. Becker [Fri, 10 May 2019 16:46:50 +0000 (18:46 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix typo
NEWS and UPGRADING for the scatter filter
Christoph M. Becker [Fri, 10 May 2019 16:46:18 +0000 (18:46 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix typo
Christoph M. Becker [Fri, 10 May 2019 16:44:47 +0000 (18:44 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix typo
Christoph M. Becker [Fri, 10 May 2019 16:43:40 +0000 (18:43 +0200)]
Fix typo
Since opcache.enable defaults to 1 anyway, this change is only
cosmetic.
Kalle Sommer Nielsen [Thu, 9 May 2019 23:38:38 +0000 (02:38 +0300)]
Merge branch 'master' of git.php.net:/php-src
Kalle Sommer Nielsen [Thu, 9 May 2019 23:38:12 +0000 (02:38 +0300)]
Merge branch 'PHP-7.4' of git.php.net:/php-src into PHP-7.4
Kalle Sommer Nielsen [Thu, 9 May 2019 23:37:02 +0000 (02:37 +0300)]
NEWS and UPGRADING for the scatter filter
Kalle Sommer Nielsen [Thu, 9 May 2019 23:24:01 +0000 (02:24 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Implemented the gdScatter filter I wrote almost 10 years ago
Kalle Sommer Nielsen [Thu, 9 May 2019 23:23:40 +0000 (02:23 +0300)]
Implemented the gdScatter filter I wrote almost 10 years ago
This filter is available as of libgd 2.1.0 which is our bare minimum for
external compilation of ext/gd.
The scatter filter works by iterating over all pixels in the image and
shifting them randomly based on two modifier (`plus` and `sub`) values:
dest_x = (int)(x + ((rand() % (plus - sub)) + sub));
dest_y = (int)(y + ((rand() % (plus - sub)) + sub));
Additionally the scatter filter also supports by only shifting pixels where
the current pixel being iterated is one or more colors, allowing the scatter
filter to only effect solid colors in part of an image.
Note, due to the nature of randomness and implementation, pixels who were
shifted ahead of iteration will be shifted once more and therefore the
bottom right of an image may contain a slight scatter effect due to this.
Peter Kokot [Thu, 9 May 2019 23:05:24 +0000 (01:05 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove unused variable
Peter Kokot [Thu, 9 May 2019 23:05:19 +0000 (01:05 +0200)]
Remove unused variable
Peter Kokot [Thu, 9 May 2019 22:44:51 +0000 (00:44 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove dead code from configure.ac
Peter Kokot [Tue, 7 May 2019 02:05:14 +0000 (04:05 +0200)]
Remove dead code from configure.ac
SAPI apache has been removed and now there is apache2handler so this
warning hasn't been used for a while.
Peter Kokot [Thu, 9 May 2019 22:21:39 +0000 (00:21 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Disable checking for library in ext skeleton
Peter Kokot [Thu, 9 May 2019 22:21:09 +0000 (00:21 +0200)]
Disable checking for library in ext skeleton
Peter Kokot [Thu, 9 May 2019 22:16:55 +0000 (00:16 +0200)]
Disable checking for library in the ext skeleton
George Wang [Thu, 9 May 2019 22:16:09 +0000 (18:16 -0400)]
Merge branch 'PHP-7.4'
George Wang [Thu, 9 May 2019 22:15:48 +0000 (18:15 -0400)]
Merge branch 'PHP-7.3' into PHP-7.4
George Wang [Thu, 9 May 2019 22:14:11 +0000 (18:14 -0400)]
Merge branch 'PHP-7.2' into PHP-7.3
George Wang [Thu, 9 May 2019 22:13:25 +0000 (18:13 -0400)]
Updated LiteSpeed SAPI to 7.3.2 to allow request header value length up to 64K.
Peter Kokot [Thu, 9 May 2019 17:07:39 +0000 (19:07 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove unused functions
Peter Kokot [Thu, 9 May 2019 02:33:13 +0000 (04:33 +0200)]
Remove unused functions
- _get_zval_ptr_cv_deref_BP_VAR_UNSET
- _get_zval_ptr_cv_deref_BP_VAR_IS
- _get_zval_ptr_cv_deref_BP_VAR_RW
- _get_zval_ptr_cv_deref_BP_VAR_W
Christoph M. Becker [Thu, 9 May 2019 14:57:23 +0000 (16:57 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix erroneous assertions
Christoph M. Becker [Thu, 9 May 2019 14:56:57 +0000 (16:56 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix erroneous assertions
Christoph M. Becker [Thu, 9 May 2019 14:55:35 +0000 (16:55 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix erroneous assertions
Christoph M. Becker [Thu, 9 May 2019 14:54:11 +0000 (16:54 +0200)]
Fix erroneous assertions
Since PHP strings are binary safe (i.e. they may contain NUL bytes), we
must not assume that strlen()/wcslen() actually return the length of
the string. Only if the given in_len is zero, it is safe to assert
this.
Nikita Popov [Thu, 9 May 2019 14:05:58 +0000 (16:05 +0200)]
Merge branch 'PHP-7.4'
Hugh McMaster [Sun, 5 May 2019 13:25:40 +0000 (23:25 +1000)]
Update the extension template file to use PKG_CHECK_MODULES
Nikita Popov [Thu, 9 May 2019 12:35:25 +0000 (14:35 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 9 May 2019 12:19:53 +0000 (14:19 +0200)]
Fixed bug #71030
Make sure to always fetch the RHS of a list assignment first, instead
of special casing known self-assignments, which will not detect cases
using references correctly.
As a side-effect, it is no longer possible to do something like
byRef(list($x) = $y). This worked by accident previously, but only
if $y was a CV and the self-assignment case did not trigger.
However it shouldn't work for the same reason that byRef($x = $y)
doesn't. Conversely byRef(list(&$x) = $y) and byRef($x =& $y)
continue to be legal.
Nikita Popov [Thu, 9 May 2019 10:36:33 +0000 (12:36 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 9 May 2019 10:36:20 +0000 (12:36 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Thu, 9 May 2019 10:34:46 +0000 (12:34 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Thu, 9 May 2019 10:29:33 +0000 (12:29 +0200)]
Fixed bug #75186
Christoph M. Becker [Thu, 9 May 2019 10:16:48 +0000 (12:16 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Fix log_verbosity_bug.phpt
Christoph M. Becker [Thu, 9 May 2019 10:16:16 +0000 (12:16 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix log_verbosity_bug.phpt
Christoph M. Becker [Thu, 9 May 2019 10:15:32 +0000 (12:15 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Fix log_verbosity_bug.phpt
Christoph M. Becker [Thu, 9 May 2019 10:15:00 +0000 (12:15 +0200)]
Fix log_verbosity_bug.phpt
This test may fail on Windows due to the file cache fallback. We
ensure that this will not happen.
Nikita Popov [Thu, 9 May 2019 10:03:29 +0000 (12:03 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Thu, 9 May 2019 10:02:16 +0000 (12:02 +0200)]
Fixed bug #77951
Treat singleton references as non-references in ReflectionReference
and return null for them.
Peter Kokot [Wed, 8 May 2019 20:02:49 +0000 (22:02 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove unused functions
Peter Kokot [Tue, 7 May 2019 01:07:21 +0000 (03:07 +0200)]
Remove unused functions
- zend_mm_bitset_find_zero
- zend_mm_bitset_find_one
- zend_mm_bitset_find_zero_and_set
- zend_is_by_ref_func_arg_fetch
Peter Kokot [Wed, 8 May 2019 20:00:30 +0000 (22:00 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove redundant example/test libsodium.php file
Peter Kokot [Mon, 6 May 2019 00:10:06 +0000 (02:10 +0200)]
Remove redundant example/test libsodium.php file
Peter Kokot [Wed, 8 May 2019 19:59:02 +0000 (21:59 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove unused example/test fileinfo.php script
Peter Kokot [Sun, 5 May 2019 23:48:50 +0000 (01:48 +0200)]
Remove unused example/test fileinfo.php script
Peter Kokot [Wed, 8 May 2019 19:56:10 +0000 (21:56 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove example PHP script from FFI
Peter Kokot [Sun, 5 May 2019 23:40:15 +0000 (01:40 +0200)]
Remove example PHP script from FFI
FFI README.md already includes the PHP example with more information.
Peter Kokot [Wed, 8 May 2019 19:51:35 +0000 (21:51 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove vcsclean script
Peter Kokot [Sat, 4 May 2019 15:28:24 +0000 (17:28 +0200)]
Remove vcsclean script
The vcsclean script is really only a wrapper for a git clean command.
Developers should use the more proper and clear native Git command
directly instead:
`git clean -Xfd`
Christoph M. Becker [Wed, 8 May 2019 17:26:30 +0000 (19:26 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Add {TMP} placeholder for PHPT INI sections
Christoph M. Becker [Wed, 8 May 2019 17:26:02 +0000 (19:26 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Add {TMP} placeholder for PHPT INI sections
Christoph M. Becker [Wed, 8 May 2019 17:22:21 +0000 (19:22 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
Add {TMP} placeholder for PHPT INI sections
Christoph M. Becker [Wed, 8 May 2019 15:54:02 +0000 (17:54 +0200)]
Add {TMP} placeholder for PHPT INI sections
Several tests use `/tmp` in the `--INI--` section, but this is not
portable. We therefore introduce the `{TMP}` placeholder which
evaluates to the system's temporary directory using
`sys_get_temp_dir()`.
We also remove the doubtful `strpos()` optimization.
Nikita Popov [Wed, 8 May 2019 15:06:34 +0000 (17:06 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 8 May 2019 15:04:28 +0000 (17:04 +0200)]
Use fast zpp for ReflectionClass constructor
At this point zpp overhead makes up a significant part of this
function.
Dmitry Stogov [Wed, 8 May 2019 13:48:42 +0000 (16:48 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Improve PHP hash function. See Daniel Lemire's blog post https://lemire.me/blog/2016/07/21/accelerating-php-hashing-by-unoptimizing-it/
Dmitry Stogov [Wed, 8 May 2019 13:43:54 +0000 (16:43 +0300)]
Improve PHP hash function.
See Daniel Lemire's blog post https://lemire.me/blog/2016/07/21/accelerating-php-hashing-by-unoptimizing-it/
Nikita Popov [Wed, 8 May 2019 13:44:29 +0000 (15:44 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 8 May 2019 13:30:53 +0000 (15:30 +0200)]
Optimize $name/$class property population in reflection
Instead of going through write_property, directly assign to the
respective property slot.
Nikita Popov [Wed, 8 May 2019 10:13:11 +0000 (12:13 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 8 May 2019 10:11:12 +0000 (12:11 +0200)]
Refactor inheritance type check implementation
Extract the self/parent name resolution code and drop unnecessary
string copies/releases. Store the fe/proto types in local variables.
Nikita Popov [Wed, 8 May 2019 09:51:50 +0000 (11:51 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 8 May 2019 09:24:08 +0000 (11:24 +0200)]
Deduplicate inheritance type check implementation
Make the check covariant (insofar as it is allowed now, i.e.
nullability and iterable) and call it with appropriate argument
order for both parameter and return types.
This makes it simpler to extend to full variance support.
Nikita Popov [Wed, 8 May 2019 09:38:10 +0000 (11:38 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Wed, 8 May 2019 09:38:03 +0000 (11:38 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
Nikita Popov [Wed, 8 May 2019 09:37:49 +0000 (11:37 +0200)]
Merge branch 'PHP-7.2' into PHP-7.3
Nikita Popov [Wed, 8 May 2019 09:33:13 +0000 (11:33 +0200)]
Fix resolution of "parent" during inheritance check
We can't assume that the method we're checking against is part of
the parent class...
Christoph M. Becker [Tue, 7 May 2019 15:05:51 +0000 (17:05 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Deprecate CURLPIPE_HTTP1
Christoph M. Becker [Tue, 7 May 2019 15:05:07 +0000 (17:05 +0200)]
Deprecate CURLPIPE_HTTP1
`CURLPIPE_HTTP1` is deprecated and has no effect as of cURL 7.62.0[1].
We therefore deprecate the PHP constant as well, and trigger a warning
that it is no longer supported, if used against cURL 7.62.0 and up.
[1] <https://curl.haxx.se/libcurl/c/CURLMOPT_PIPELINING.html>
Nikita Popov [Tue, 7 May 2019 14:22:17 +0000 (16:22 +0200)]
Merge branch 'PHP-7.4'
Sebastian Pop [Wed, 17 Apr 2019 15:03:37 +0000 (15:03 +0000)]
[AArch64] Use NEON to initialize zend_hash
On A72, google-benchmark measure before and after the patch:
--------------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------------
BM_hash_init_before 43.6 ns 43.6 ns
16052937
BM_hash_init_after 27.0 ns 27.0 ns
25877296
Patch written by Ali Saidi <alisaidi@amazon.com>
and Sebastian Pop <spop@amazon.com>
Nikita Popov [Tue, 7 May 2019 13:44:39 +0000 (15:44 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Tue, 7 May 2019 12:32:06 +0000 (14:32 +0200)]
Add --with-ffi on Travis
Nikita Popov [Tue, 7 May 2019 13:21:08 +0000 (15:21 +0200)]
Avoid some maybe uninitialized warnings in ffi
All false positives.
Dmitry Stogov [Tue, 7 May 2019 12:42:25 +0000 (15:42 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
speed up increment and decrement operators with overflow detection
Sebastian Pop [Tue, 23 Apr 2019 20:18:39 +0000 (20:18 +0000)]
speed up increment and decrement operators with overflow detection
On A72, google-benchmark measure before and after the patch:
--------------------------------------------------------
Benchmark Time CPU Iterations
--------------------------------------------------------
BM_inc_before 6.54 ns 6.54 ns
106985447
BM_dec_before 6.54 ns 6.54 ns
107011667
BM_inc_after 4.36 ns 4.36 ns
160525864
BM_dec_after 4.36 ns 4.36 ns
160524243
Before the patch:
fast_long_add_function:
ldr x0, [x1]
add x2, x0, 1
cmp x2, x0
blt .L11
str x2, [x1]
ret
.L11:
mov x0,
4890909195324358656
mov w2, 5
str x0, [x1]
str w2, [x1, 8]
ret
With the patch:
fast_long_add_function:
ldr x5, [x1]
adds x5,x5,1
bvs .L2
str x5, [x1]
ret
.L2:
mov x0,
4890909195324358656
mov w2, 5
str x0, [x1]
str w2, [x1, 8]
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.102
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.055
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.204
php$ ./sapi/cli/php Zend/micro_bench.php
Base: Patch:
empty_loop 0.051 empty_loop 0.050
func() 0.181 0.130 func() 0.181 0.131
undef_func() 0.186 0.135 undef_func() 0.186 0.136
int_func() 0.116 0.064 int_func() 0.116 0.065
$x = self::$x 0.235 0.183 $x = self::$x 0.229 0.179
self::$x = 0 0.198 0.147 self::$x = 0 0.199 0.148
isset(self::$x) 0.229 0.178 isset(self::$x) 0.225 0.174
empty(self::$x) 0.231 0.180 empty(self::$x) 0.227 0.177
$x = Foo::$x 0.144 0.093 $x = Foo::$x 0.142 0.092
Foo::$x = 0 0.107 0.056 Foo::$x = 0 0.105 0.054
isset(Foo::$x) 0.140 0.088 isset(Foo::$x) 0.140 0.089
empty(Foo::$x) 0.148 0.097 empty(Foo::$x) 0.144 0.094
self::f() 0.238 0.187 self::f() 0.240 0.190
Foo::f() 0.209 0.158 Foo::f() 0.201 0.150
$x = $this->x 0.123 0.072 $x = $this->x 0.120 0.070
$this->x = 0 0.124 0.073 $this->x = 0 0.124 0.074
$this->x += 2 0.151 0.099 $this->x += 2 0.151 0.101
++$this->x 0.137 0.086 ++$this->x 0.139 0.088
--$this->x 0.137 0.086 --$this->x 0.137 0.087
$this->x++ 0.170 0.119 $this->x++ 0.172 0.122
$this->x-- 0.171 0.119 $this->x-- 0.172 0.122
isset($this->x) 0.170 0.119 isset($this->x) 0.170 0.120
empty($this->x) 0.179 0.128 empty($this->x) 0.179 0.129
$this->f() 0.194 0.143 $this->f() 0.194 0.144
$x = Foo::TEST 0.188 0.137 $x = Foo::TEST 0.188 0.138
new Foo() 0.482 0.431 new Foo() 0.482 0.432
$x = TEST 0.109 0.058 $x = TEST 0.109 0.059
$x = $_GET 0.190 0.138 $x = $_GET 0.188 0.137
$x = $GLOBALS['v'] 0.242 0.191 $x = $GLOBALS['v'] 0.246 0.196
$x = $hash['v'] 0.196 0.145 $x = $hash['v'] 0.192 0.142
$x = $str[0] 0.146 0.094 $x = $str[0] 0.142 0.092
$x = $a ?: null 0.144 0.093 $x = $a ?: null 0.144 0.094
$x = $f ?: tmp 0.174 0.123 $x = $f ?: tmp 0.174 0.124
$x = $f ? $f : $a 0.153 0.101 $x = $f ? $f : $a 0.153 0.102
$x = $f ? $f : tmp 0.148 0.097 $x = $f ? $f : tmp 0.148 0.098
------------------------ ------------------------
Total 6.143 Total 6.108
Dmitry Stogov [Tue, 7 May 2019 12:38:27 +0000 (15:38 +0300)]
Merge branch 'PHP-7.4'
* PHP-7.4:
speed up add and sub operators with overflow detection
Sebastian Pop [Thu, 25 Apr 2019 14:44:02 +0000 (14:44 +0000)]
speed up add and sub operators with overflow detection
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
Nikita Popov [Tue, 7 May 2019 12:30:20 +0000 (14:30 +0200)]
Merge branch 'PHP-7.4'
Hugh McMaster [Sun, 5 May 2019 12:25:27 +0000 (22:25 +1000)]
Use PKG_CHECK_MODULES to detect the ffi library
Nikita Popov [Tue, 7 May 2019 12:07:30 +0000 (14:07 +0200)]
Merge branch 'PHP-7.4'
Nikita Popov [Tue, 9 Apr 2019 09:04:13 +0000 (11:04 +0200)]
Deprecate left-associative ternary
Deprecate nesting ternary operators without explicit parentheses.
RFC: https://wiki.php.net/rfc/ternary_associativity
Nikita Popov [Wed, 27 Mar 2019 15:58:30 +0000 (16:58 +0100)]
Always generate fatal error for LSP failures
RFC: https://wiki.php.net/rfc/lsp_errors
Nikita Popov [Tue, 7 May 2019 08:41:31 +0000 (10:41 +0200)]
Merge branch 'PHP-7.4'
Sebastian Pop [Fri, 3 May 2019 15:17:41 +0000 (15:17 +0000)]
[AArch64] use rev64 to reverse strings
The execution time goes from 4.388s down to 0.563s on a Graviton A1
instance for the benchmark:
function reverse_strings() {
$a = "foo";
for ($i = 0; $i < 100000; $i++) {
strrev($a);
$a .= "o";
}
}
Nikita Popov [Tue, 7 May 2019 07:54:35 +0000 (09:54 +0200)]
Remove outdated info from README.ZEND_MM
[ci skip]
Peter Kokot [Tue, 7 May 2019 02:40:23 +0000 (04:40 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Convert CRLF line endings to LF
Convert CRLF line endings to LF
Peter Kokot [Tue, 7 May 2019 02:40:01 +0000 (04:40 +0200)]
Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.
Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)
To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`
Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).
Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.
Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
Peter Kokot [Tue, 7 May 2019 02:35:43 +0000 (04:35 +0200)]
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Convert CRLF line endings to LF
Peter Kokot [Tue, 7 May 2019 02:34:37 +0000 (04:34 +0200)]
Convert CRLF line endings to LF
This patch simplifies line endings tracked in the Git repository and
syncs them to all include the LF style instead of the CRLF files.
Newline characters:
- LF (\n) (*nix and Mac)
- CRLF (\r\n) (Windows)
- CR (\r) (old Mac, obsolete)
To see which line endings are in the index and in the working copy the
following command can be used:
`git ls-files --eol`
Git additionally provides `.gitattributes` file to specify if some files
need to have specific line endings on all platforms (either CRLF or LF).
Changed files shouldn't cause issues on modern Windows platforms because
also Git can do output conversion is core.autocrlf=true is set on
Windows and use CRLF newlines in all files in the working tree.
Unless CRLF files are tracked specifically, Git by default tracks all
files in the index using LF newlines.
Peter Kokot [Tue, 7 May 2019 02:26:09 +0000 (04:26 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
Remove empty section
Peter Kokot [Tue, 7 May 2019 02:26:03 +0000 (04:26 +0200)]
Remove empty section
Peter Kokot [Tue, 7 May 2019 00:23:07 +0000 (02:23 +0200)]
Merge branch 'PHP-7.4'
* PHP-7.4:
[ci skip] Add password registry RFC to changelog