No sabemos qué significa "bueno" y "malo" para usted.
No sabemos si los está utilizando en un código de rendimiento crítico que pueda ser un cuello de botella para su aplicación.
Solo usted conoce exactamente las rutas que su código tomará al usar Object.GetType
y Assembly.GetTypes
.
Por lo tanto, solo usted puede determinar exactamente qué tan significativo será el uso de estos métodos en el rendimiento de su aplicación, y qué tan beneficioso será tratar de aumentar el rendimiento mediante el almacenamiento en caché.
te puedo decir esto: nunca he tenido Type.GetType
y Assembly.GetTypes
ser un cuello de botella en mi solicitud, y no almacenar en caché los resultados (He, sin embargo, necesario para almacenar en caché MemberInfo.GetCustomAttributes
pero sólo llegó a esa conclusión después de un perfilador me dijo que era un cuello de botella significativo en mi aplicación y que el almacenamiento en caché mejoraría sustancialmente el rendimiento).
respuesta a tu edición:
quiero decir, estas son las API toman mucho tiempo que podría causar una degradación de rendimiento, o son estas API bien diseñados para ignorar los problemas de rendimiento?
¿Qué alternativas tienes? Si necesita una referencia al Type
para un objeto determinado, o si necesita todos los tipos en un conjunto determinado, le aseguro que Object.GetType
y Assembly.GetTypes
son su mejor opción. La pregunta es, ¿cómo los estás usando? Nuevamente, no lo sabemos, y por lo tanto no podemos decirte qué hacer. Tiene que perfilar su uso en el mundo real de estas funciones y averiguar si están causando un cuello de botella en su aplicación o no.
¿Bueno o malo en relación a qué? –