Visualizar o uso da memória com e sem o uso de geradores pode ajudar a compreender os benefícios de eficiência. Abaixo está uma comparação do uso de memória em dois cenários:
Digamos que temos uma função simples que retorna uma matriz de números de 0 a 999.999. Esta função carrega todos os dados na memória de uma só vez.
Quando a função getNumbersArray é chamada:
| Memory Usage Without Generators | |------------------------------------------------------| | Start | * | | | ** | | | *** | | | **** | | | ***** | | | ****** | | | ******* | | ... | ******************************************| | End | ******************************************| |------------------------------------------------------|
Agora, usamos uma função geradora para gerar números, um de cada vez.
Quando a função geradora numberGenerator é chamada:
| Memory Usage With Generators | |------------------------------------------------------| | Start | * | | | * | | | * | | | * | | | * | | | * | | | * | | ... | * | | End | * | |------------------------------------------------------|
Os geradores oferecem benefícios significativos de eficiência de memória, especialmente para grandes conjuntos de dados, gerando um item por vez e mantendo baixo uso de memória durante a execução do script.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3