Lors de l'utilisation d'une bibliothèque IOC comme ninja, y a-t-il un coût lié à la performance ou est-ce un hit unique lors de l'application_start?Quel type de coût de performance y a-t-il avec IOC (asp.net mvc)?
Répondre
Avez-vous des problèmes de performances? Avez-vous des objectifs spécifiques à atteindre que vous ne rencontrez pas? Avez-vous utilisé un profileur pour tracer les problèmes de performances à votre utilisation d'un framework IoC?
Si la réponse à l'une de ces questions est "non", alors la réponse réelle à votre question est "ce n'est pas grave". Si la réponse à tous est "oui", alors vous connaissez déjà la réponse.
Mais, bien sûr, il y a un coût lié à l'utilisation d'un framework IoC. L'utilisation de new
est une instruction, alors qu'un IoC est plus que cela, cela aura donc un coût. Est-ce important pour votre application? Probablement pas. Vous avez l'Internet à une extrémité, probablement une base de données à l'autre, et probablement un réseau interne entre les deux. Le code compilé est rarement le goulot d'étranglement dans les applications Web.
Dépend de la façon dont vous l'utilisez, mais à moins d'instancier des milliers d'objets à la fois, il ne devrait pas y avoir de goulot d'étranglement visible. Lorsqu'un objet est résolu à partir d'un conteneur IoC, le conteneur utilise généralement la réflexion pour analyser les constructeurs et les propriétés publiques de cette classe, puis parcourt une collection interne pour trouver la meilleure correspondance pour chaque service requis par cet objet. L'instanciation prendra aussi longtemps que si vous l'instanciez manuellement, plus une petite quantité de temps pour les appels de réflexion. Si vous utilisez un style de vie transitoire et résolvez un objet à l'intérieur d'une boucle, vous POUVEZ remarquer une légère baisse des performances, mais à ce moment-là, je vous demanderais s'il existe une meilleure façon d'exécuter ce code.
Et si vous n'avez pas encore remarqué de baisse de performance, cela ne devrait même pas vous intéresser. Don't optimize until you absolutely have to.
Sortie Munq.DI. C'est un CIO simple et très rapide inspiré par Funq. Il utilise des expressions lambda pour définir la méthode de création et prend en charge les gestionnaires de durée de vie Container, Cache, Session, Request et AlwaysNew.
L'exemple d'application inclut l'intégration avec ASP.NET MVC.
- 1. performance autoeventwireup coût
- 2. Quel est le coût de codage et de déploiement asp.net MVC ou stackoverflow.com, Struts ASP.NET MVC VS, printemps
- 3. Contrôleurs IoC et ASP.NET MVC
- 4. Vues IoC et ASP.NET MVC
- 5. IModelBinder ou IOC dans ASP.NET MVC?
- 6. Une comparaison de framework MVC (principalement des compromis coût/vitesse)
- 7. Enregistrement des métriques de performance ASP.NET MVC
- 8. Haute performance asp.net application mvc
- 9. Conversation NHibernate avec ASP.NET + IoC + PostSharp?
- 10. Asp.net MVC Routing Type de
- 11. Quel type de performance devrais-je attendre des services Web?
- 12. ASP.NET, Ninject et MVC: Problèmes de charge de performance
- 13. Obtenir le comportement de type MultiView avec ASP.NET MVC
- 14. Performance Ajax: ASP.Net MVC vs Webforms
- 15. asp.net mvc avec ioc -> évitant la soupe constructor avec BaseController
- 16. Quel type de données utiliser?
- 17. Coût approximatif de l'application iPhone?
- 18. ASP.Net Ajax comparaisons de performance
- 19. Y compris les Partials, ASP.NET MVC
- 20. PageMethods avec ASP.Net MVC
- 21. Performance de Arrays.asList
- 22. ASP.Net MVC "Impossible de charger le type" lors de l'exécution
- 23. Quel est l'équivalent ASP.NET MVC de l'affichage conditionnel d'un Label?
- 24. Request.Files est vide lors de l'utilisation du fichier de type d'entrée avec ASP.Net MVC
- 25. Utilisation de log4net avec Unity IoC
- 26. ASP.NET MVC Access Application Propriété de modèle
- 27. ASP.net MVC avec Ajax
- 28. Installation de nUnit avec ASP.Net MVC 1.0
- 29. VirtualPathProvider avec ASP.Net MVC
- 30. Coût de l'utilisation de références faibles en Java
Voulez-vous dire ninject? –
Les ninjas sont sournois et vont câbler vos objets sans que vous vous en rendiez compte. En outre, ils se battent tout le temps. –