Je pense à l'optimisation d'un programme en prenant un tableau linéaire et en écrivant chaque élément dans un emplacement arbitraire (de manière aléatoire du point de vue de la CPU) dans un autre tableau. Je ne fais que des écritures simples et je ne relis pas les éléments. Je comprends qu'une lecture scatted pour une unité centrale classique peut être assez lente car chaque accès provoquera un échec de mémoire cache et donc une attente du processeur. Mais je pensais qu'une écriture dispersée pouvait techniquement être rapide parce que le processeur n'attend pas de résultat, il n'a donc pas besoin d'attendre que la transaction soit terminée. Je ne suis malheureusement pas familier avec tous les détails de l'architecture de la mémoire CPU classique et donc il peut y avoir quelques complications qui peuvent entraîner cette lenteur.Vitesse d'écriture dispersée par rapport à la vitesse de lecture dispersée sur les processeurs Intel ou AMD modernes?
Est-ce que quelqu'un a déjà essayé?
(Je devrais dire que j'essaie d'inverser un problème que j'ai actuellement) J'ai actuellement un tableau linéaire à partir duquel je lis des valeurs arbitraires - une lecture dispersée - et c'est incroyablement lent à cause de tous les échecs de cache Je pense que je peux inverser cette opération dans une écriture éparpillée pour un gain de vitesse significatif.)
Je serais surpris si les écritures dispersées étaient plus rapides, mais comme toujours, vous devriez tester et mesurer. –