PropertyInfo.SetProperty() ni bajarish uchun MethodInfos ga aylantirishim kerakmi?

Men hozirgina .NET aks ettirish qanchalik qimmat? ni o‘qiyotgan edim. o'rnatdi va men Delegate.CreateDelegate ni ishga tushirishim uchun barcha PropertyInfo.SetProperty() ni MethodInfos qo'ng'iroqlariga aylantirishni ko'rib chiqsam bo'ladimi, degan savol tug'ildi.

Nihoyat, agar men buni qilsam, Xususiyat nomi va Turi bir nechta turlarda bir xil bo'lsa ham, har bir MethodInfo yoki xususiyatni ob'ekt turiga asoslangan holda saqlashim kerak deb o'ylayman.

fyi. Men dotnet 2 dan foydalanaman

Qo'shilgan ----

Men o'z-o'zidan jiddiy ishlash muammosi bilan shug'ullanmayman, lekin ba'zida etarli darajada kechikishlar mavjud, buning ustida ishlash yomon fikr emas, agar bu o'zgarishlarga olib keladi. Bundan tashqari, mening aks ettiruvchi qo'ng'iroqlarimning 90% + 2 funktsiya bilan amalga oshiriladi, shuning uchun kichik o'zgarishlar butun ilovaga katta ta'sir ko'rsatishi mumkin.


person JDMX    schedule 27.02.2010    source manba


Javoblar (3)


Bu hech qanday farq qilmaydi. Xarajat yig'ilishdan metama'lumotlarni olishdir. Sozlagich yoki qabul qiluvchini aks ettiruvchi PropertyInfo yoki MethodInfo bo'ladimi, ahamiyatsiz. O'zingizni ishontirish uchun System.Diagnostics.Stopwatch bilan vaqt ajrating, buning isboti pudingda. Birinchi marta foydalanishga vaqt ajratganingizga ishonch hosil qiling, metadata keshlanganligi sababli, undan keyin tez ishlaydi.

person Hans Passant    schedule 28.02.2010
comment
Metodinfo keshlash ro'yxatini amalga oshiraman va aslida vaqtlar deyarli bir xil ekanligini bilib oldim. Ishlash qobiliyatini oshirish uchun boshqa joydan izlashim kerak deb o'ylayman. - person JDMX; 28.02.2010

Jon aytganidek, siz bu savolga javob beradigan eng yaxshi odamsiz. Ikkala usuldan foydalangan holda LINQPad-da tezkor sinovni o'tkazing va sizning foydalanishingiz optimallashtirishni oqlashini tekshiring. Lekin, ehtimol, yaxshiroq optimallashtirish (agar bu sizning vaziyatingizda mantiqiy bo'lsa) o'z aksini ifoda daraxtlari.

person Josh    schedule 27.02.2010
comment
foydali bo'lishi mumkin, lekin men dotnet 2 daman, shuning uchun men darhol foydalana olmayman. lekin biroz tahrir bilan ... - person JDMX; 28.02.2010

Agar sizda ishlash muammosi bo'lmasa, ishlash muammosini hal qilmang.

person John Saunders    schedule 27.02.2010
comment
O'z-o'zidan muhim ishlash muammosi emas, lekin ba'zida etarli darajada kechikishlar mavjud, buning ustida ishlash yomon fikr emas. Bundan tashqari, mening aks ettirish qo'ng'iroqlarimning 90% + 2 funktsiya bilan sodir bo'ladi, shuning uchun u erdagi kichik o'zgarishlar katta ta'sir ko'rsatishi mumkin. - person JDMX; 28.02.2010