Большая часть оптимизации кода C # происходит на уровне компилятора JIT, а не компилятора C #. В основном нет таких подробных настроек, как те, что доступны в C или C ++.
Есть несколько связанных с производительностью элементов среды выполнения, которые можно настроить, например, стратегии GC, но не очень.
Когда я собираю тесты производительности и т.д. из командной строки, я обычно использую что-то вроде этого:
csc /o+ /debug- Test.cs
(я верю Я видел, что наличие соответствующего файла pdb влияет на производительность, возможно, с точки зрения стоимости создаваемых исключений, отсюда и переключатель debug-
... но может быть не так.)
РЕДАКТИРОВАТЬ: если вы хотите увидеть разницу, которую вносит каждый бит оптимизации, есть один подход, который может оказаться интересным:
- Скомпилируйте один и тот же код с оптимизацией и без
- Используйте ildasm или Reflector в режиме IL, чтобы увидеть разницу
- Применить одни и те же изменения по одному вручную (используя ilasm) и измерить, сколько у каждого есть