All major build tools support Scala Native. sbt is most feature-rich. The simplest one is scala-cli.

Create a file hello.scala with single main function.

Build it in three variants: native, JVM, GraalVM. Compare binary sizes. Explain what the difference is between those runtimes.

Run the app. Measure CPU time and peak memory consumption.

Execution time Memory Binary size
Native ~0 2.3 1.2
GraalVM ~0 6.5 12
JVM 0,14 48 6.9 (jar) + JVM