Sistemas & Desarrollo
4 meneos
67 clics

Análisis del coste/beneficio de comparar antes de asignar una variable [ENG]

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.

| etiquetas: coste/beneficio , comparación , asignación

menéame