3 ms·
AOT is not a panacea and comes with some restrictions/trade-offs that need understood before depending on it in production.
by hnrodey 6mo ago
AOT is not a panacea and comes with some restrictions/trade-offs that need understood before depending on it in production.
- ziml77 6mo agoLosing dynamic PGO by using AOT compilation could be a detriment to performance in long-running applications, right?
- Rohansi 6mo agoYou also have the option to do single file deployment where it self-extracts the runtime when you run it. It's not as nice but it works and maintains full compatibility.
- peter_griffin 6mo agowouldn't you have the same restrictions/tradeoffs using go (or other compiled languages)? I've never used go, am curious
- Rohansi 6mo agoPretty much, yes. For example reflection is severely limited in .NET AOT vs. JIT, runtime generated code is more common than you'd think and cannot be done AOT. Go was designed for AOT so they already built everything around the limitations because it never supported more. It'll just take time for .NET to catch up where the dependencies you need automatically work with AOT builds.