Skip to content

Add ConcurrentAsyncEvaluation option - #615

Merged
gumbarros merged 3 commits into
masterfrom
ConcurrentBinaryAsyncEvaluation
Aug 15, 2026
Merged

gumbarros merged 3 commits into
masterfrom
ConcurrentBinaryAsyncEvaluation

Conversation

@gumbarros

Copy link
Copy Markdown
Member

This closes #609

@gumbarros

Copy link
Copy Markdown
Member Author

@Dreamescaper

Comment thread test/NCalc.Tests/AsyncTests.cs Dismissed
@Dreamescaper

Copy link
Copy Markdown

I can think of couple of other cases which could be parallelyzed.

  • Some built-in functions, like Min/Max.
    I.e. for Max(FuncA(), FuncB()) - FuncA and FuncB could be evaluated in parallel

  • Lists, i.e. for (FuncA(), FuncB(), FuncC()) - FuncA, FuncB, FuncC could be evaluated in parallel.

Would it make sense to implement here as well?
Although the flag name would have to be updated, as it's not about binary only anymore.

@gumbarros

Copy link
Copy Markdown
Member Author

I can think of couple of other cases which could be parallelyzed.

* Some built-in functions, like Min/Max.
  I.e. for `Max(FuncA(), FuncB())` - FuncA and FuncB could be evaluated in parallel

* Lists, i.e. for `(FuncA(), FuncB(), FuncC())` - FuncA, FuncB, FuncC could be evaluated in parallel.

Would it make sense to implement here as well? Although the flag name would have to be updated, as it's not about binary only anymore.

Makes sense if we rename to ConcurrentAsyncEvaluation

@gumbarros

Copy link
Copy Markdown
Member Author

@Dreamescaper when possible please check the changes

@gumbarros gumbarros changed the title Add ConcurrentBinaryAsyncEvaluation option Add ConcurrentAsyncEvaluation option Aug 10, 2026
@Dreamescaper

Copy link
Copy Markdown

LGTM :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow to evaluate binary operands in parallel

2 participants