History log of /php-src/UPGRADING (Results 301 – 325 of 1776)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 76582205 17-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Improve performance of mbfl_name2encoding() by using perfect hashing (#12707)

mbfl_name2encoding() uses a linear loop through the encodings, comparing
the name one by one, which is very

Improve performance of mbfl_name2encoding() by using perfect hashing (#12707)

mbfl_name2encoding() uses a linear loop through the encodings, comparing
the name one by one, which is very slow. For the benchmark [1] just
looking up the name takes about 50% of run-time.

By using perfect hashing instead, we no longer have to loop over the
list, and the number of string comparisons is reduced to just a single
one. The perfect hashing table is generated using GNU gperf and amended
manually to fit in with mbstring and manually changed to reduce the
cache size.

[1] https://github.com/php/php-src/issues/12684#issuecomment-1813799924

show more ...

# 0f349d4c 16-Nov-2023 Jakub Zelenka

Add POSIX_SC_CHILD_MAX and POSIX_SC_CLK_TCK constants

Closes GH-12689

# 1bdb0fdd 16-Nov-2023 Gina Peter Banyard

Refactor pcntl_sigprocmask()/pcntl_sigwaitinfo()/pcntl_sigtimedwait() (#11860)

# 1492be52 13-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[RFC] DOM HTML5 parsing and serialization support (#12111)

# 3b68df24 12-Nov-2023 Jakub Zelenka

Add note to UPGRADING about proc_open changes for invalid command

Closes GH-12589

# f150f997 11-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Improve browscap get_browser performance (#12651)

* Split function and use _new variant to avoid redundant checks

* Precompute better array size to avoid rehashing

* Use ne

Improve browscap get_browser performance (#12651)

* Split function and use _new variant to avoid redundant checks

* Precompute better array size to avoid rehashing

* Use new function to add into array instead of merging into, preventing temporary memory allocations

* Convert to regex without separate copy + lowering

We're already doing a character-wise loop after lowering, so just lower
it character by character instead of looping over it twice and
allocating memory.

* Use HASH_MAP loop because htab can never be packed

This saves additional checks.

* Move destructor to more sensible place

* Remove now unused browscap_zval_copy_ctor

* Use zend_string_release_ex variant where possible

* Implement dedicated greedy wildcard matching algorithm

This avoids compiling, allocating and caching regexes and should run in
the same complexity.

* Cache previous length instead of repeatedly recomputing it

* Add additional optimization to wildcard * matching

* Move cheap checks to the callsite

The function prologue and epilogue have a stupidly high overhead for
those 2 simple checks at the start.

We can't always-inline the reg_compare function because it contains
alloca, and the alloca is really important for performance.
Instead, move those cheap checks to the call site.

* Use specialised loop to avoid unnecessary conversions and checks

* Optimize counting loop by taking into account the prefix

* Precompute the hash values of known keys

* [ci skip] UPGRADING

* Code style

* Add a note why we have the early-skip checks in the loop

show more ...

# 63898008 10-Nov-2023 Dmitriy Degtyaryov

Fix GH-9344: pgsql pipeline mode proposal.

Adding pg_send_flush_request.
Fix freeze after next execute pg_send_* on PQgetResult in _php_pgsql_link_has_results.
Set nonblocking for pi

Fix GH-9344: pgsql pipeline mode proposal.

Adding pg_send_flush_request.
Fix freeze after next execute pg_send_* on PQgetResult in _php_pgsql_link_has_results.
Set nonblocking for pipelining mode.
No flush client buffer in pg_send_* for pipelining mode.

Close GH-12644

show more ...

# 1ad5f9da 04-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[ci skip] UPGRADING

# 9a973a37 04-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Optimize strcspn (#12594)

# ee5fe483 02-Nov-2023 David Carlier

[ci skip] fix typo in UPGRADING

# d4183c2c 01-Nov-2023 David Carlier

[ci skip] Intl extension UPGRADING note

# a470c4ae 28-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-12532: PharData created from zip has incorrect timestamp

The datetime stored in the DOS time fields, which is what zip standard
uses, is local time without a timezone. There's an

Fix GH-12532: PharData created from zip has incorrect timestamp

The datetime stored in the DOS time fields, which is what zip standard
uses, is local time without a timezone. There's an extension to the zip
file format since '97 that allows storing a unix timestamp (in UTC) in
the header for both the central directory and the local entries.
This patch adds support for this.

Closes GH-12548.

show more ...

# 74ba9167 29-Oct-2023 Jorg Adam Sowa

Typed constants in sqlite extension (#12379)

# 9ad78441 29-Oct-2023 Jorg Adam Sowa

Typed constants in Intl extenstion (#12360)

# dff8679a 29-Oct-2023 Jorg Adam Sowa

Typed constants in PDO extension (#12362)

# d04854b3 23-Oct-2023 Alex Dowad

Add fast mb_strcut implementation for UTF-16

Similar to the fast, specialized mb_strcut implementation for UTF-8
in 1f0cf133db, this new implementation of mb_strcut for UTF-16 strings

Add fast mb_strcut implementation for UTF-16

Similar to the fast, specialized mb_strcut implementation for UTF-8
in 1f0cf133db, this new implementation of mb_strcut for UTF-16 strings
just examines a few bytes before each cut point.

Even for short strings, the new implementation is around 2x faster.
For strings around 10,000 bytes in length, it comes out about 100-500x
faster in my microbenchmarks.

The new implementation behaves identically to the old one on valid
UTF-16 strings; a fuzzer was used to help verify this.

show more ...

# e8d8a5fe 28-Oct-2023 Jorg Adam Sowa

Typed constants in reflection extension (#12378)

# e58af7c1 12-Oct-2023 Viktor Vassilyev

ext/soap: Add support for clark notation for namespaces in class map

Closes GH-12411.

# 98b08c52 22-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement request #68325: parse huge option for xml_parser_create (#12256)

# 0e5d6544 20-Oct-2023 George Peter Banyard

ext/xml: Refactor extension to use FCC instead of zvals for handlers (#12340)

To get proper errors and sensible behaviour, as the current behaviour is somewhat insane and part of it should b

ext/xml: Refactor extension to use FCC instead of zvals for handlers (#12340)

To get proper errors and sensible behaviour, as the current behaviour is somewhat insane and part of it should be axed ASAP.

The behaviour is mostly intact with some minor BC breaks which are mentioned in UPGRADING.

Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>

show more ...

# b5c287e4 12-Oct-2023 SakiTakamachi

Fix GH-12423: Changed to prioritize DSN authentication information over arguments.

Added connection test

Close GH-12424

# d0b29d82 13-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Optimize strspn()

The current implementation uses a nested loop (for + goto), which has
complexity O(|s1| * |s2|). If we instead use a lookup table, the
complexity drops to O(|s1| +

Optimize strspn()

The current implementation uses a nested loop (for + goto), which has
complexity O(|s1| * |s2|). If we instead use a lookup table, the
complexity drops to O(|s1| + |s2|).
This is conceptually the same strategy that common C library
implementations such as glibc and musl use.
The variation with a bitvector instead of a table also gives a speed-up,
but the table variation was about 1.34x faster.

On microbenchmarks this easily gave a 5x speedup.

This can bring a 1.4-1.5% performance improvement in the Symfony
benchmark.

Closes GH-12431.

show more ...

# 57a8f63f 08-Oct-2023 David Carlier

[ci skip] UPGRADING pgsql update

# 009d48da 08-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Convert bounds exception in SplFixedArray to OutOfBoundsException instead of RuntimeException (#12383)

# f0757100 07-Oct-2023 Jorg Adam Sowa

Typed constants in SPL extension (#12358)

1...<<11121314151617181920>>...72