groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "K Adithyan (tech)" <adi.k....@gmail.com>
Subject Executing Groovy DSL scripts concurrently
Date Wed, 07 Feb 2018 15:14:43 GMT
Team,

Our application is a Root Cause Analysis Computation Engine for Telecom
networks. We have been implementing the logics in java only so far.

We are now planning to write DSLs for each feature and write the logics
using the DSL. We have implemented a framework for plugging in any number
of DSLs and integrated that DSL Framework with our application.

Each of the logics written over the DSL are executed concurrently using 40
or 50 or 60 threads based on the rate of the incoming events. Due to the
concurrency, we are now creating `GroovyShell` object for every execution
and calling `shell.evaluate(ourScriptFile)` to run the DSL scripts with our
own Binding object and delegates.

This prevents the system to run the logic at its own speed. Everytime
parsing and running takes significant time which reduces the event handling
capacity of the application.

I have attempted with `GroovyShell` and `GroovyScriptEngine`. But both are
offering same performance levels. GroovyShell is slightly better than
GroovyScriptEngine.

Under these circumstances, what is the best way to wrap our script logic,
that is based on our own DSLs, and run it concurrently without any overhead
for parsing, compilation, etc?????????


Pls advice

Reg,
Adithyan K

Mime
View raw message