Skip to content

Latest commit

 

History

History
56 lines (34 loc) · 1.51 KB

README.md

File metadata and controls

56 lines (34 loc) · 1.51 KB

ScaLaMatrixRain

Matrix Digital Rain

Scala Lanterna Matrix Digital Rain

  • Lanterna allows you to write easy semi-graphical user interfaces in a text-only environment, very similar to the C library curses but with more functionality.

Run

./gradlew shadowJar && java -jar slmatrix/build/libs/slmatrix-all.jar

Native

Setup GraalVM

Install SDKMAN!

sdk install java 23.0.1-graalce

Compile

sdk use java 23.0.1-graalce
./gradlew nativeCompile --no-configuration-cache

ToDo

Options

Add flags for various options like character ranges, color, velocity vector, etc.

Native

Compile for multiple targets and architectures like Linux, Windows, and MacOS.

Make a proper GitHub release with the compiled binaries.

Make it available via Homebrew and Scoop.

GraalVM Recommendations

  • G1GC: Use the G1 GC ('--gc=G1') for improved latency and throughput.
  • PGO: Use Profile-Guided Optimizations ('--pgo') for improved throughput.
  • AWT: Use the tracing agent to collect metadata for AWT.
  • HEAP: Set max heap for improved and more predictable memory usage.
  • CPU: Enable more CPU features with '-march=native' for improved performance.

Versioning

Add axion-release-plugin for versioning and releasing.