breandan
01/06/2020, 12:57 PMKotlinJsr223JvmLocalScriptEngineFactory
, there have been reports of similar issues: https://stackoverflow.com/questions/48777423/running-kotlin-through-jsr-223-is-incredibly-slow https://youtrack.jetbrains.com/issue/KT-17463altavir
01/06/2020, 1:19 PMbreandan
01/06/2020, 1:51 PMaltavir
01/06/2020, 1:52 PMbreandan
01/06/2020, 1:53 PMaltavir
01/06/2020, 3:06 PMbreandan
01/06/2020, 3:19 PMjavax.script.ScriptEngineManager
breandan
01/06/2020, 3:21 PM1.3.61
altavir
01/06/2020, 4:11 PMaltavir
01/06/2020, 4:11 PMbreandan
01/06/2020, 4:21 PMaltavir
01/06/2020, 4:22 PMbreandan
01/06/2020, 8:04 PMbreandan
01/06/2020, 8:10 PMimplementation("org.jetbrains.kotlin:kotlin-scripting-jsr223-embeddable:$kotlinVersion")
The second one is slower and more cumbersome to use:
implementation("org.jetbrains.kotlin:kotlin-script-runtime:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-compiler-embeddable:$kotlinVersion")
implementation("org.jetbrains.kotlin:kotlin-script-util:$kotlinVersion")
But both can be used through the JSR-223 API:
import javax.script.ScriptEngineManager
fun eval(code: String) =
ScriptEngineManager().getEngineByExtension("kts").eval(code)