Hace 5 años | Por mr_b a blogs.msdn.microsoft.com
Publicado hace 5 años por mr_b a blogs.msdn.microsoft.com

Teniendo los dos siguientes fragmentos de código: 1) x = newValue;, y 2) if (x != newValue) x = newValue;, la pregunta es ¿cuál es más rápido? La respuesta es: depende. El segundo fragmento introduce más trabajo, ya que tiene que comparar y luego asignar, pero evita escribir en memoria innecesariamente. También hay que tener en cuenta que influyen cosas como si existen barreras de memoria (memory barriers), si se usa copy-on-write, cómo funcionan las cachés de los procesadores, etc.