Bonjour à tous,
Je veux savoir si c'est possible ou bien y a t-il une bibliothèque c++ qui nous permet de gérer manuellement la mémoire cache.
Merci pour votre aide.
Bonjour à tous,
Je veux savoir si c'est possible ou bien y a t-il une bibliothèque c++ qui nous permet de gérer manuellement la mémoire cache.
Merci pour votre aide.
J'imagine qu'il y a des fonctions C des API des différents OS qui doivent fournir ça (puisque c'est dépendant de l'OS).
Autrement, tu peux toujours gérer ton propre fichier de cache, mais il faut tout un système autour a développer (pour qu'il fasse ce dont tu as besoin). Peut être qu'en redéfinissant new/delete tu pourrais arriver a faire de la gestion de cache à la main.
Cela dit ce n'est qu'une hypothèse, je n'ai jamais fais ça.
Bonjour,
Une telle API me semble tout simplement irréalisable car on ne contrôle pas directement l'utilisation du cache, au mieux on peut essayer "d'aider" le systeme. Par exemple en favorisant au maximum les parcours séquentiels de tableaux.
On peut aller beaucoup plus loin en prenant en compte dans son code les tailles de cache des différents niveaux, mais là ça devient sérieusement crade et moyennement portable. Les performances variant aussi beaucoup d'un systeme à l'autre. Par exemple en "optimisant" de cette façon une biblothèque d'algèbre linéaire, j'obtenais sur un serveur un gain de 40% (!!) et sur un autre une perte de 15%..
Apres tout dépend de ce que vous voulez faire. Je n'ai plus les liens mais on peut trouver de bons articles d'optimisations de cache sur le net.
Oups je me rends compte que je ne suis pas sur qu'on parle du cache (le fichier) ou de mémoire cache sur le procésseur.....
Si c'est le dernier alors théoriquement on a aucun controle, c'est dépendant du processeur (a ce que je sache). On ne peut que connaitre le processeur et aménager le code en fonction, si on veut vraiment optimiser au poil près.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager