mirror of
https://gitlab.uni-marburg.de/langbeid/powersort.git
synced 2025-01-21 19:50:35 +01:00
M-H9
18c27e2ea0
Remove .vscode/settings.json from the repository
The file likely contained editor-specific configurations that are unrelated to the source code. Removing it helps prevent unintentional overrides of personal developer settings and keeps the repository cleaner.
Bring Powersort to Java
Gradle
Setup
Dependencies (JDK23, Gradle, IntelliJ) can be installed by running nix-shell
.
Commandline
Check which Java toolchains Gradle finds:
./gradlew javaToolchains
This should include version >= 23, 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
When using nix-shell
, some configuration is necessary:
- STRG ALT SHIFT s -> SDK -> add JDK ->
- home path: /usr/lib/openjdk
- name: usr-lib-jdk
- STRG ALT s -> build tools -> gradle ->
- local installation: /usr/lib/gradle
- Gradle JVM: usr-lib-jdk
Tasks
List all Gradle tasks which can be run:
./gradlew tasks
This can also be done graphically in IntelliJ:
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.
Languages
Java
97%
Nix
3%