-
-
Notifications
You must be signed in to change notification settings - Fork 83
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
Minimize memory consumed by FEC.LightExpression.Expression #116
Comments
What way contributor may check that his changes do good in terms of performance? Could it be running all tests as part of specific bench? As of now I do not know how to do it. |
Using stucts may lead to the case when |
Another alternative to have limit number of params to 255 #89 and pass small array by ref and call it with by ref return. So we may store items in most optimal array instead doing overloads. |
@dzmitry-lahoda I will review #89, thanks for reminder |
Another thing what is bothering me is that FEC almost always has a Gen1, Gen2 allocations vs |
It is still an actual thing to look at. |
Added specialized versions for the few arguments. |
todo:
|
The work is completed for all major expressions, the remaining are Switch, TryCatch and Loop can be tackled separately when time permits or with contributions. |
The expression with multiple sub-expressions like
Expression.Call
contain their arguments in array.We may provide overloads with separate 1, 2, 3, 4, 5, or more arguments, and store them not in array but inlined.
If we futher make some expressions into a
struct
, e.g.ParameterExpression
we can gain an additional savings.The text was updated successfully, but these errors were encountered: