Dans le second cas, tes données vont être éparpillées en mémoire et donc tu vas te taper plein de défaut de cache. Dans le premier cas, le processeur va reconnaître un pattern d'accès à la mémoire et va précharger les positions futures, ce qui va considérablement améliorer ton temps de traitement.
Ça me semble péremptoire. Ce sera vrai dans certain cas, mais dans d’autre, tu risques les recopies d’objets, tu dois faire attention à ne pas modifier ton tableau (cas 1) dans un fil d’exécution léger pendant qu’un autre fil dispose d’une référence sur l’objet N. Car l’implémentation peut déplacer les objets en mémoire (std::vector)...
En fonction de comment on utilise les données, l’un ou l’autre sera plus adapté. Àmha.
[^] # Re: Les systèmes à entités
Posté par Anthony Jaguenaud . En réponse à la dépêche Je crée mon jeu vidéo E15 : J'arrête.... Évalué à 5.
Ça me semble péremptoire. Ce sera vrai dans certain cas, mais dans d’autre, tu risques les recopies d’objets, tu dois faire attention à ne pas modifier ton tableau (cas 1) dans un fil d’exécution léger pendant qu’un autre fil dispose d’une référence sur l’objet N. Car l’implémentation peut déplacer les objets en mémoire (std::vector)...
En fonction de comment on utilise les données, l’un ou l’autre sera plus adapté. Àmha.