Files
java-design-patterns/localization/es/data-locality/README.md
T
2024-10-20 10:22:52 +03:00

30 lines
1.3 KiB
Markdown

---
title: Data Locality
shortTitle: Data Locality
category: Behavioral
language: es
tag:
- Game programming
- Performance
---
## Propósito
Acelera el acceso a la memoria organizando los datos para aprovechar la caché de la CPU.
Las CPU modernas disponen de cachés para acelerar el acceso a la memoria. Éstas pueden acceder mucho más rápido a la memoria adyacente a la memoria a la que se ha accedido recientemente. Aprovéchate de ello para mejorar el rendimiento aumentando la localidad de los datos, manteniéndolos en memoria contigua en el orden en que los procesas.
## Diagrama de clases
![alt text](./etc/data-locality.urm.png "Data Locality pattern class diagram")
## Aplicabilidad
* Como la mayoría de las optimizaciones, la primera pauta para usar el patrón Data Locality es cuando se tiene un problema de rendimiento.
* Con este patrón específicamente, también querrás estar seguro de que tus problemas de rendimiento son causados por pérdidas de caché.
## Ejemplo del mundo real
* El motor de juego [Artemis](http://gamadu.com/artemis/) es uno de los primeros y más conocidos frameworks que utiliza IDs simples para las entidades del juego.
## Créditos
* [Game Programming Patterns Optimization Patterns: Data Locality](http://gameprogrammingpatterns.com/data-locality.html)