9

Why is compiling and running Kotlin extremely slow (at least on my machine)? I have the latest version of Kotlin compiler installed on my machine.

Specifically the command:

kotlinc main.kt -include-runtime -d main.jar && java -jar main.jar

It's so slow that printing "hello word" takes up to 9 seconds.

I initially thought that it is slow by default (I used dDcoder app) but now I've used the online playground and Sololearn it's much more faster.

My PC is running Windows 10 with Core i5 and 4GB RAM.

sepp2k
  • 363,768
  • 54
  • 674
  • 675
Kingvert
  • 101
  • 1
  • 6

2 Answers2

7

This is usually a common complaint among Kotlin users, especially when compiling a project for the first time. Unfortunately, there's nothing you can do about it, your PC spec is sufficient for an effective build and run of Kotlin project.

My advice, for offline compiling, use Intellij IDEA. This IDE has the most efficient support for Kotlin... as it is produced and managed by Jetbrains.

If you use Intellij IDEA already, The project will take less time to compile from first build.

I had the same complaint when I started working with Kotlin from Java. Java's compile time is faster, and there's nothing you can do about the compile time difference as of the present.

Stefano Sansone
  • 2,377
  • 7
  • 20
  • 39
Meggrain
  • 178
  • 10
4

Maybe I'm biased, but I think it is unusual to compile Kotlin code this way, so it is not that well optimized. Usually, we use either IntelliJ or Gradle (or Maven), not kotlinc directly. Gradle can cache compiled code, it can run a background daemon to not re-initialize everything with each build, etc.

If we create a Gradle project, even consisting of several submodules, with some multiplatform modules, etc. then running it repeatedly with minor changes takes less than a second each. Even if changes are spread among several submodules, so Gradle has to build all of them.

Having said that, compilation time is a common problem in Kotlin right now. I believe optimizations are somewhere near the top of the Kotlin team priority list, so hopefully we'll see some improvement in the near future. As for now, it is considered a problem for some people.

broot
  • 21,588
  • 3
  • 30
  • 35
  • thanks, I'll install Intellij IDEA . – Kingvert Oct 31 '21 at 17:49
  • 1
    I have rather speculated that an excess of compilation optimizations could be the problem for the unbearable slowness of the Kotlin compiler. Good software developers need to test quickly and often. The problem still persists today (at least in Ubuntu 20) and it's practically unusable that way, The development experience is bad. I don't use proprietary IDEs because a development tool or development technology that locks you into a commercial product of a company is unjust bad technology. At least, with every language I try, I learn more about development usability, in the negative way. – ChrisoLosoph Jul 01 '23 at 16:56