2024-11-23 17:57:13 +01:00
2024-11-19 19:22:53 +01:00
2024-11-23 17:57:13 +01:00
2024-11-19 18:43:10 +01:00
2024-11-19 18:43:10 +01:00
2024-11-23 17:57:03 +01:00
2024-11-19 18:43:10 +01:00
2024-11-19 18:43:10 +01:00
2024-11-19 19:24:56 +01:00
2024-11-20 14:58:37 +01:00
2024-11-23 17:57:13 +01:00
2024-11-19 18:43:10 +01:00
2024-11-23 17:56:52 +01:00
2024-11-23 17:56:52 +01:00
2024-11-23 17:57:08 +01:00
2024-11-23 17:57:13 +01:00
2024-11-23 17:56:47 +01:00

Bring Powersort to Java

Gradle

Setup

Commandline

Check which Java toolchains can be found by Gradle:

./gradlew javaToolchains
  • shell.nix -> broken (as well for gradle javaToolchains
  • shell1.nix -> works 🥳
  • shell2.nix -> broken (as well for gradle javaToolchains)
  • shell3.nix -> works 🥳
  • shell4.nix -> works 🥳

This should include version >= 17, e.g.:

 + N/A JDK 23-ga
     | Location:           /nix/store/48290hnlb13xmwjw9y16a1s785993bv7-openjdk-23-ga/lib/openjdk
     | Language Version:   23
     | Vendor:             N/A
     | Architecture:       amd64
     | Is JDK:             true
     | Detected by:        Current JVM

IntelliJ

Open issue: gradle's toolchain support does not work with IntelliJ

Tasks

List all Gradle tasks which can be run:

./gradlew tasks

This can also be done graphically in IntelliJ:

intellij-gradle.png

Test Cases

Run the task "test":

./gradlew test

TimSort

Imported from

  • src/java.base/share/classes/java/util/TimSort.java
  • src/java.base/share/classes/java/util/ComparableTimSort.java
Description
Implementation of Powersort with the aim of integrating it into OpenJDK. Benchmarks are used to ensure that the runtime of the new sorting algorithm is never slower than the current Timsort implementation.
Readme 672 KiB
Languages
Java 97%
Nix 3%