Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

To save a KnowledgeLibrary into compiled "GRL" binary file and also to load them back. #182

Closed
newm4n opened this issue Apr 6, 2021 · 2 comments
Labels
enhancement New feature or request

Comments

@newm4n
Copy link
Member

newm4n commented Apr 6, 2021

Is your feature request related to a problem? Please describe.
Loading huge (thousands) rule set takes time, some time it takes minutes.

Describe the solution you'd like
Would be much helpful to be able to load huge rule set fast.

Describe alternatives you've considered
Have the KnowledgeLibrary to be able to be saved into a compact binary file and vice-versa.
This will remove the ANTLR4 parsing process and Expression/Atoms re-indexing RETE logic.
So loading from this binary and compact file is faster and straight forward into KnowledgeLibrary.

Additional context
All AST nodes is has its own ID and this could be very helpful to maintain AST node network.

@newm4n newm4n added the enhancement New feature or request label Apr 6, 2021
@jinagamvasubabu
Copy link
Collaborator

jinagamvasubabu commented Apr 11, 2021

hi @newm4n good to see this coming, this would really help developers like me to use grules better even with medium size (~1000)datasets

let me know if you need any help to pull this off

🤞 hope to see this feature soon

@newm4n
Copy link
Member Author

newm4n commented Apr 12, 2021

Hi @jinagamvasubabu

PR #183 is out. Thanks a lot for your offer for help.
I will release it ASAP, and when it done, you could help me test it with big set of rule-sets.
See if it load faster from binary file.

Another thought is, you could help me prepare documentation for that part.
Storing KnowledgeBase to binary file and load it back. Or perhaps some documentation if people like to use archive/zip Reader/Writer to make the file size smaller.

Or, you could help to create such adapter. Or deployment pipeline where Rule developer could code GRL, and save it as compiled rule binary file. And deploy the binary file to server that exclusively read rule from binary file. This could open opportunity for more tooling in the Grule ecosystem.

@newm4n newm4n closed this as completed in 8c7b275 Apr 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants