Parece que la optimización es un arte perdido en estos días. ¿No hubo un momento en que todos los programadores exprimían hasta la última gota de eficiencia de su código? ¿Lo hace a menudo mientras camina cinco millas en la nieve?
En el espíritu de traer de vuelta un arte perdido, ¿cuáles son algunos consejos que conozca para cambios simples (o quizás complejos) para optimizar el código C # / .NET? Dado que es algo tan amplio que depende de lo que uno esté tratando de lograr, ayudaría a proporcionar contexto con su consejo. Por ejemplo:
- Al concatenar muchas cadenas, utilice
StringBuilder
en su lugar. Consulte el enlace en la parte inferior para conocer las advertencias al respecto. - Úselo
string.Compare
para comparar dos cadenas en lugar de hacer algo comostring1.ToLower() == string2.ToLower()
El consenso general que hasta ahora parece estar midiendo es clave. Este tipo de no entiende el punto: medir no le dice qué está mal, o qué hacer al respecto si se encuentra con un cuello de botella. Una vez me encontré con el cuello de botella de la concatenación de cadenas y no tenía idea de qué hacer al respecto, por lo que estos consejos son útiles.
Mi punto para publicar esto es tener un lugar para los cuellos de botella comunes y cómo pueden evitarse incluso antes de toparse con ellos. Ni siquiera se trata necesariamente de un código plug and play que cualquiera deba seguir ciegamente, sino más bien de comprender que se debe pensar en el rendimiento, al menos un poco, y que hay algunos errores comunes a los que hay que prestar atención.
Sin embargo, puedo ver que podría ser útil saber también por qué es útil una sugerencia y dónde debe aplicarse. Para el StringBuilder
consejo, encontré la ayuda que hice hace mucho tiempo aquí en el sitio de Jon Skeet .