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

Significant performance degradation of expressions' evaluation switching from 1.16 to 1.17 #814

Open
eugene-furs opened this issue Mar 1, 2024 · 2 comments

Comments

@eugene-furs
Copy link

Describe the bug
After switching FEEL implementation from 1.16 to 1.17 it has been observed that performance of expressions' evaluation significantly degraded. In our test case with 6 million evaluations (6 expressions 1 million times each) the performance became about 6 times slower for not pre-parsed expressions and 12 times slower for pre-parsed expressions.

To Reproduce
Steps to reproduce the behavior (our test case setup):

  1. Prepare 6 FEEL expressions to be evaluated on provided context
  2. Generate 1000 contexts (Map<String, Object> in our case)
  3. 1000 times: evaluate each expression for each context and measure time of overall evaluation running the test with FEEL 1.16 and 1.17

Alternatively the attached test code can be used switching FEEL versions in pom.xml.
FEEL-Perf.zip

Expected behavior
About the same performance of expressions' evaluation or reasonable low performance degradation

Environment

  • FEEL engine version: [1.17.5] versus [1.16.1]
  • Affects:
    • Custom software solution using feel-scala library
@saig0
Copy link
Member

saig0 commented Mar 1, 2024

@eugene-furs thank you for raising this and making it easy to reproduce. 👍

Currently, the performance of the FEEL engine is not our highest priority. However, I will have a look and try to confirm the results (using my benchmark project https://github.com/saig0/feel-scala-jmh).

Everyone is welcome to find and fix performance issues. 🚀

@saig0 saig0 self-assigned this Mar 1, 2024
@saig0
Copy link
Member

saig0 commented Apr 3, 2024

I can confirm the performance degradation from 1.16 to 1.17. ✔️ The evaluation is 10 to 100 times slower than before (ref). 🐌

@saig0 saig0 removed their assignment Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants