Dans un AddIn Outlook sur lequel je travaille, j'utilise une liste pour récupérer tous les messages dans le dossier en cours, puis les traiter, puis les enregistrer. Tout d'abord, je crée une liste de tous les messages, puis je crée une autre liste à partir de la liste des messages, puis finalement je crée une troisième liste de messages qui doivent être déplacés. Essentiellement, ils sont tous des copies l'un de l'autre, et je l'ai fait de cette façon pour l'organiser. Est-ce que cela augmenterait les performances si je n'utilisais qu'une seule liste? Je pensais que les listes n'étaient que des références à l'objet réel.Utilisation de grandes listes
Répondre
Sans voir votre code, il est impossible de dire si vous créez des copies de la liste elle-même ou des copies du référence à la liste - ce dernier est préférable.
Une autre chose à considérer est de savoir si vous pouvez ou non diffuser les messages à partir d'Outlook en utilisant un iterator block. En utilisant un List<T>
vous tamponnez actuellement toute la séquence de messages, ce qui signifie que vous devez les conserver tous en mémoire, en les traitant un à la fois. La diffusion des messages réduirait la pression sur la mémoire de votre application, car il suffirait de garder chaque message en mémoire suffisamment longtemps pour le traiter.
À moins que vos listes contiennent 10 millions d'éléments ou plus, cela ne devrait pas poser de problème.
Outlook semble avoir un problème beaucoup plus petites boîtes aux lettres de taille, donc je dirais que vous êtes à peu près sûr.
- 1. Joindre de très grandes listes
- 2. Hibernate displaytag grandes listes
- 3. StackOverflowException avec de grandes listes
- 4. Comment formater des méthodes avec de grandes listes de paramètres
- 5. Utilisation de grandes collections dans db40 (.net)
- 6. Langage de programmation Web pour les très grandes listes?
- 7. Utilisation de l'emplacement des listes dans les listes
- 8. Génération de très grandes listes d'options dans la boîte de sélection de jSon
- 9. Utilisation efficace de grandes quantités de texte dans UITextView
- 10. Utilisation de sockets python pour recevoir de grandes requêtes http
- 11. Utilisation de listes déroulantes pour la navigation
- 12. Utilisation de la parallélisation pour des boucles relativement grandes
- 13. Quelle est votre opinion sur l'utilisation de Web-Services pour obtenir de grandes listes de données?
- 14. Grandes parcelles XML et utilisation d'attributs ou d'éléments
- 15. Rendu de 20 grandes listBox identiques
- 16. Liste des listes de listes
- 17. Utilisation de textures OpenGL plus grandes que la taille de la fenêtre/de l'affichage
- 18. "Listes de tranches" et "l'ellipse" en Python; Tranches de listes et listes de listes avec listes de tranches
- 19. Performance de très grandes classes
- 20. Listes de prologues et manipulation de listes
- 21. Python: Dictionnaire de listes de listes
- 22. Utilisation des listes déroulantes pour masquer/montrer avec Jquery
- 23. Affectation de valeurs à des listes dans des listes à l'intérieur de listes dans des listes
- 24. listes et sous-listes
- 25. Listes de recherche, plages
- 26. Combinaison de plusieurs listes Triés
- 27. Fusionner deux listes de listes - Python
- 28. Recherche Python dans les listes de listes
- 29. Grandes tables MySQL
- 30. Grandes applications utilisant NHibernate