Question

J'ai écrit un test simple

  1. Ajouter 100 articles à [Collection
  2. Lire 1000000 fois à partir de [Collection] au hasard

Lorsque

  • Collection] == httpContext.current.items Il faut 50 ms
  • Collection] == httpruntime.cache cela prend 430 ms
  • Collection] == HashTable || [Collection] == Dictionaty 170 ms

Je suppose que les frais généraux de httpruntime.cache sont synchronisés

J'essaie de modifier la capacité initiale de hachage / dictionnaire? Mais sans succès.

Est-ce que quelqu'un sait quelle est la raison de ce turbo httpcontext.current.items? Puis-je créer ce type d'objet à l'implémentation de cache personnalisé (bien sûr avec Sync Imply).

Était-ce utile?

La solution

La raison pour laquelle le cache est lent est parce qu'il est Fitre en toute sécurité - Comme vous l'avez deviné.

Type sous-jacent pour HttpContext.Current.Items est une plaine Hashtable. Peut-être que si vous mettez un extrait de votre code, je serais en mesure d'expliquer la différence avec le 3ème élément.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top