On 1/17/26 21:36, Дилян Палаузов wrote:
Hello,
I do not think that this is going to make progress, until somebody shares a
minimal example, which has performance differences between INDY and classic
bytecode generation. That is: .groovy files, build environment and instructions
how to run the files to notice significant performance difference.
That in itself is actually not so difficult. See GROOVY-11842 for
example. While the issue itself is about something being in the
callstack, that should not be there, I there also talk about how Groovy
3 with and without primitive optimizations performs here in the first
few iterations. And for the long run the performance is actually
comparable.
File:
int foo(){1}
int a
long t1,t2
O_MAX = 1000
long[] ts = new long[O_MAX]
for (int o=0; o<O_MAX; o++) {
t1 = System.nanoTime()
for (int i=0; i<10_000; i++) {
a=foo()
}
t2 = System.nanoTime()
ts[o] = t2-t1
}
def f = new File("out.txt")
for (int i =0; i<O_MAX; i++) {
f << i +": " + ts[i] + "\n"
}
println "done"
Environment: just java command line with GroovyMain or groovy command.
But what does it actually say? And is this really relevant in a big
application? Those are difficult to answer.
And that is your whole point I assume. it needs simple enough to
actually get what you test, but complex enough to be relevant for the
application. This one here surely is not
bye Jochen