2009-07-08 7 views
2

Si plusieurs processus accèdent à une valeur de registre des milliers de fois par seconde, y aura-t-il des implications significatives en termes de performances lors de la lecture de cette valeur de registre?Quelles sont les implications sur les performances d'accès à une valeur de registre Windows?

La valeur de la valeur de registre ne changera jamais, elle sera en lecture seule. Je suppose qu'une autre question est que lire la valeur de registre une opération de blocage?

La valeur de Registre sert à stocker les détails de connexion à la base de données auxquels accèdent les applications ASP.NET, les applications Win Forms et les services WCF.

Merci,

Stuart

Répondre

2

Le registre est rapide, très rapide. Mais des milliers de fois par seconde? À tout le moins, cachez la valeur dans chaque application de sorte que vous n'avez qu'à la lire une fois au démarrage de l'application.

+0

Après le premier accès, le registre de Windows cache déjà la valeur pour vous, n'est-ce pas? Vous devriez stocker la valeur localement juste pour les avantages de la localité, à moins que vous n'attendiez que la valeur tourne, bien sûr. –

+0

Oui, les valeurs fréquemment consultées sont susceptibles d'être mises en cache par le gestionnaire de registre. Cependant, vous devrez probablement changer de contexte à chaque appel, il est donc préférable de mettre en cache localement. –

+0

Merci pour votre réponse, il m'a mis sur mon chemin. À votre santé. – Simian

0

Le registre Windows est juste un fichier qui a plus de protection que d'autres fichiers.

Tout comme n'importe quel fichier, cependant, il y aura une atteinte des performances lors de son accès. Je suggère que vous lisiez vos valeurs une fois, au démarrage de l'application et les stockiez dans la mémoire, en les transmettant à vos objets comme requis.

Questions connexes