La visualisation de l'utilisation de la mémoire avec et sans l'utilisation de générateurs peut aider à comprendre les avantages en termes d'efficacité. Vous trouverez ci-dessous une comparaison de l'utilisation de la mémoire dans deux scénarios :
Disons que nous avons une fonction simple qui renvoie un tableau de nombres de 0 à 999 999. Cette fonction charge toutes les données en mémoire en même temps.
Lorsque la fonction getNumbersArray est appelée :
| Memory Usage Without Generators | |------------------------------------------------------| | Start | * | | | ** | | | *** | | | **** | | | ***** | | | ****** | | | ******* | | ... | ******************************************| | End | ******************************************| |------------------------------------------------------|
Maintenant, nous utilisons une fonction génératrice pour générer des nombres un par un.
Lorsque la fonction du générateur numberGenerator est appelée :
| Memory Usage With Generators | |------------------------------------------------------| | Start | * | | | * | | | * | | | * | | | * | | | * | | | * | | ... | * | | End | * | |------------------------------------------------------|
Les générateurs offrent des avantages significatifs en termes d'efficacité de la mémoire, en particulier pour les grands ensembles de données, en produisant un élément à la fois et en maintenant une faible utilisation de la mémoire tout au long de l'exécution du script.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3