Linq и ламбда изрази при използване на IL2CPP
Едно от нещата, които запомних от лекцията за производителност беше, че не е препоръчително да се използват linq и ламбда изрази. Kакто, че е по-добре да се използват for loops вместо foreach. Въпросът ми е ако за крайния билд използваме IL2CPP, то има ли значение дали в скриптовете сме използвали тези неща, като в крайна сметка всичко ще се обърне към C++?
Малко пояснение за тези, които не знаят какво е IL2CPP (Intermediate Language To C Plus Plus) - това е технология, която Unity разработват от около две години. Взима Intermediate Language кода, който е резултат от компилацията на вашите C# скриптове и го обръща към C++ код, който съответно да се използва от компилаторите за съответната таргет платрофма, за която билдвате играта.
Не познавам как работи конкретно този процес, но си представям, че кода би се обърнал до един и същи C++ резултат преди да бъде компилиран, без значение дали съм използвал само for цикли или не. Вярно, че при самите тестове преди билда се използва Mono и ако има забавяне ще се усети докато тестваме играта преди да сме направили билда, но дали ще е чак толквоа значително? Интересно ми е вие какво мислите и дали има някой, който да е запознат по-добре с това?