Ну, это будет нелегко. Я думаю вы могли бы оборудовать свою сборку после компиляции кодом счетчика производительности, который выполнялся после блоков IL. Например, если у вас был раздел метода, который загрузил int в стек, а затем выполнил статический метод с использованием этого int в оптимизированном коде, вы можете записать счетчик 2 для загрузки и вызова int.
Даже при использовании существующих проектов чтения / записи IL / управляемой сборки это было бы довольно сложной задачей.
Конечно, некоторые инструкции, записанные вашим счетчиком, могут быть оптимизированы во время компиляции точно в срок x86 / ia64 / x64, но это риск, который вы должны будете предпринять, чтобы попытаться профилировать на основе абстрактного языка. как IL.