in reply to Re^2: Extending a perl program with Scheme, Lua, or JS
in thread Extending a perl program with Scheme, Lua, or JS

Hm, the CPAN page for JE has this: "It also uses and leaks lots of memory."

Yeah, good point, I missed that initially, it's definitely something worth testing. I would hope that if the JE object gets destroyed, it cleans up all of its memory, so that might be a simple workaround.

Startup time for the interpreter is 85 ms, which is not great

Initially you said "in my actual use case the performance hit might be undetectable to the person (me) using the GUI" - what kind of performance are you looking for here? Is this code going to be called in a tight loop, how often, etc.?

Replies are listed 'Best First'.
Re^4: Extending a perl program with Scheme, Lua, or JS
by bcrowell2 (Friar) on Feb 10, 2019 at 20:24 UTC

    Initially you said "in my actual use case the performance hit might be undetectable to the person (me) using the GUI" - what kind of performance are you looking for here? Is this code going to be called in a tight loop, how often, etc.?

    In the task I'm currently using this for, it gets called once for every student in the class. My classes are small, but for someone with a large class (or someone using an older machine), a delay of ~0.1 s per student could really cause a noticeable lack of responsiveness. However, I don't think that would have ended up being an issue if I had used JE, because the delay is a startup delay, and JE only needs to be started up once.

      the delay is a startup delay, and JE only needs to be started up once.

      A tradeoff would be to start up JE before processing the students, loop over them, and then destroy the interpreter after, and hope it doesn't leak too much memory in between :-) (considering that you only want to use this for simple calculations, I'd be surprised if it really became a problem).

        Yeah, that occurred to me too, but just in general the fact that it leaks memory suggests to me that it's not something high quality and well maintained, which makes me not want to commit myself to it.