Я читал раздел Сопутствующий код платформы .NET Compiler ( "Roslyn" ), и я наткнулся на руководящие принципы для кодирования. Я понимаю большую часть правил кодирования и почему они просят об этом. Но я не понимаю, что они подразумевают под этим:
Избегайте выделения в горячих путях компилятора:
Избегайте LINQ.
Избегайте использования foreach над коллекциями, у которых нет перечислителя структуры.
Что такое "горячий путь компилятора"? И почему я должен избегать использования LINQ и избегать выполнения foreach над коллекциями, у которых нет перечислителя структуры?