Я поиграл с API профилирования .NET (ICorProfilerCallback) и быстро обнаружил, что FunctionID нестабилен (его можно использовать повторно, см. http://msdn.microsoft.com/en-us/library/bb384619.aspx). Все в порядке. Мне пришла в голову идея закодировать метод с помощью идентификатора версии модуля (MVID) и токена метода (mdTokenDef).
Однако меня беспокоит, что это пространство неэффективно (16 байтов для GUID + 4 байта для токена). Прямо сейчас я думаю использовать какой-то хеш (я думаю, 32-битного хеша должно быть достаточно).
Как вы думаете, есть ли более эффективные способы кодирования метода?