Escribí una aplicación de subprocesos múltiples para comparar la velocidad de ejecución de LOCK CMPXCHG (ASM x86).Velocidad de ejecución roscada de LOCK CMPXCHG
En mi máquina (dual Core - Core 2), con 2 subprocesos ejecutándose y accediendo a la misma variable, puedo realizar unos 40M ops/segundo.
Luego di a cada hilo una variable única para operar. Obviamente, esto significa que no hay conflicto de bloqueo entre los hilos, así que esperaba un rendimiento de velocidad. Sin embargo, la velocidad no cambió. ¿Por qué?
lo explica! Gracias :) – IamIC
Lo probé y ahora funciona a aproximadamente el doble de velocidad, como se esperaba. ¡Estupendo! – IamIC
Como nota, 64 bytes son suficientes ya que ese es el tamaño de la línea de caché en las CPU Intel y AMD. – IamIC