gustavopsantos / Reflex

Minimal dependency injection framework for Unity
MIT License
730 stars 51 forks source link

IL2CPP (AOT) performance using Expressions #2

Closed gustavopsantos closed 5 months ago

gustavopsantos commented 3 years ago

The expression trees implementation used for AOT platforms is an interpreter, so it is pretty slow compared to a JIT compiler like Mono. We need to check if theres a good way (clean, readable and scalable) to implement a IL Reweaver.

References:

boraty14 commented 5 months ago

I have no idea what does this issue means, but according to links it looks like reaallly slow (like you mentioned). Should I care for this when I develop for IL2CPP ?

gustavopsantos commented 5 months ago

@boraty14 You should not worry about it, expression trees are currently being used only for mono (JIT) builds. See peformance charts for both mono (JIT) and IL2CPP (AOT) in https://github.com/gustavopsantos/Reflex?tab=readme-ov-file#-performance

gustavopsantos commented 5 months ago

Closing this issue as I already investigated this a long time ago, and decided to not go for IL Weaving (at least for now) as I'm currently happy with AOT performance