RFR: 8360023: Add an insertion sort implementation to Hotspot [v7]
Quan Anh Mai
qamai at openjdk.org
Fri Jun 20 11:02:25 UTC 2025
> Hi,
>
> This PR adds an implementation of insertion sort to Hotspot. It is an algorithm that is inplace and stable, and it is the ideal algorithm for arrays with small numbers of elements. The motivation for this is [JDK-8357186](https://bugs.openjdk.org/browse/JDK-8357186) in which a stable sort is desired and the number of elements is small. Additionally, since insertion sort is the most efficient sorting algorithm for small arrays, it can be used in non-stable sort as well.
>
> In addition, I make some improvements to `GrowableArrayIterator`:
>
> - Make a non-const variant (our current iterator is const only).
> - Add various utility operators to align with a typical iterator.
>
> [JDK-8360032](https://bugs.openjdk.org/browse/JDK-8360032) is a follow-up work that will build a stable merge-insertion sort on top of this PR.
>
> Please take a look and share your thoughts. Thanks very much.
Quan Anh Mai has updated the pull request incrementally with one additional commit since the last revision:
small changes
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/25895/files
- new: https://git.openjdk.org/jdk/pull/25895/files/65bd14db..17f30c0d
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=25895&range=06
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=25895&range=05-06
Stats: 3 lines in 2 files changed: 1 ins; 1 del; 1 mod
Patch: https://git.openjdk.org/jdk/pull/25895.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/25895/head:pull/25895
PR: https://git.openjdk.org/jdk/pull/25895
More information about the hotspot-dev
mailing list