Skip to content

MikanAffine/Shigure-Expression-Compiler

Repository files navigation

时雨 表达式编译计算引擎

English Version here


使用便捷

简洁的API: 寥寥几行代码即可达成目标

内置大量函数, 还可自定义函数: 随心定制你的 表达式环境

val expr = Shigure.createExpr("a + b * c")
val context = buildContext {
    set("a", 1.2)
    set("b", 2.5)
    set("c", 3.0)
}
val result: Double = expr.invoke(context)

性能先进

可编译到 Java字节码: 性能获得巨大提升

自带 JIT 策略: 无论是只执行几次, 还是大量重复执行, 都能获得最佳的性能表现.

虽然是动态取用变量和函数, 但编译后性能不输直接写在 Java 代码内的表达式

解释模式下, 字节码解释器也有很好的性能, 只需 23 秒即可执行 1 亿次 计算

[(Baseline) Java Eval 100M] Elapsed time: 2830 ms
[Interpreted Eval 100M] Elapsed time: 23254 ms
[Compiled Eval 100M] Elapsed time: 5712 ms

赶快使用吧!

repositories {
    maven { url 'https://jitpack.io' }
}

dependencies {
    implementation 'com.github.KouyouX:Shigure-Expression-Compiler:v1.0.1'
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published