This project is read-only.
1
Vote

Improve GlobalAssemblyCache performances

description

Calls to GlobalAssemblyCache are very slow due to enumeration of all assemblies throw fusion at each call.

CreateAssemblyEnum should be called with an IAssemblyName to filter results. Filtering on assembly name reduce the assemblies to be tested, and drasticly reduce marshalling overhead.

IAssemblyName should be created with CreateAssemblyNameObject.

(Implementation proposal attached as GlobalAssemblyCache2.cs)

(Previous proposal was not correct, and lead to some COM exceptions)

New implementation reduce GAC search from 2000 msec to 1 msec after fusion.dll loading.

file attachments

comments

jetelain wrote Jan 31, 2014 at 4:45 PM

Fix