Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memunggah Perhimpunan yang Dimuat dengan Assembly.LoadFrom() dengan Cekap?
Untuk menentukan masa yang dibelanjakan untuk melaksanakan GetTypes() selepas memuatkan DLL, anda boleh mengikuti langkah yang dinyatakan di bawah.
Pengumpul sampah (GC) bertanggungjawab untuk menuntut semula memori yang tidak digunakan. Semasa menetapkan objek Assembly kepada null mencetuskan GC untuk menandakan objek untuk koleksi berpotensi, ia tidak menjamin bahawa memori akan dikeluarkan serta-merta.
Kod berikut menunjukkan cara untuk muatkan perhimpunan dalam AppDomain yang berasingan dan punggahnya selepas mengukur masa untuk GetTypes():
// Define the assembly path string pathToAssembly = @"C:\temp\myassembly.dll"; // Create a new AppDomain AppDomain dom = AppDomain.CreateDomain("some"); // Load the assembly in the new AppDomain AssemblyName assemblyName = new AssemblyName(); assemblyName.CodeBase = pathToAssembly; Assembly assembly = dom.Load(assemblyName); // Measure the time for GetTypes() Stopwatch sw = Stopwatch.StartNew(); Type[] types = assembly.GetTypes(); sw.Stop(); double time1 = sw.Elapsed.TotalMilliseconds; // Unload the AppDomain to release the assembly AppDomain.Unload(dom);
Oleh memunggah AppDomain, anda memastikan bahawa sumber yang diperuntukkan kepada pemasangan yang dimuatkan dikeluarkan, memberikan ukuran masa yang lebih tepat untuk pemuatan dan operasi GetTypes() seterusnya.
Atas ialah kandungan terperinci Bagaimana untuk Memunggah Perhimpunan yang Dimuat dengan Assembly.LoadFrom() dengan Cekap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!