> Added a fast path for `PriorityQueue#addAll` when adding elements to an > empty, exact `PriorityQueue` instance. > > Instead of inserting each element one by one through `AbstractQueue#addAll`, > the implementation now copies the source collection into the backing array > and calls `heapify()`. > This reduces the construction cost for bulk insertion into an empty queue > from repeated per-element sift-up work to linear-time heap construction. > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai).
Daisuke Yamazaki has updated the pull request incrementally with four additional commits since the last revision: - optimise as use exact PriorityQueue's array - Skip check for `es` as it is obviously not empty - Most optiomal path for exact PriorityQueue - Remove initElementsFromArray and inline logics ------------- Changes: - all: https://git.openjdk.org/jdk/pull/31701/files - new: https://git.openjdk.org/jdk/pull/31701/files/69613426..bcfd75e8 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=31701&range=06 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=31701&range=05-06 Stats: 22 lines in 1 file changed: 14 ins; 5 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/31701.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/31701/head:pull/31701 PR: https://git.openjdk.org/jdk/pull/31701
