Trabalhando com Generators no PHP

Video ready, click here to close ×


Referência:
http://www.php.net/manual/en/language.generators.overview.php

source

3 comments

  • Quanto ao uso de memória, de fato, generators economiza muito. Mas notei que no vídeo você fez uma comparação de pico de memória na mesma execução, e isso fez retornar zero, já que mesmo usando yield há consumo de memória, porém…

    Num teste local usou 216KB de memória para o método convencional (seu primeiro exemplo), em uma linha de 10 execuções utilizou um total de 330KB. Já com o generators (seu segundo exemplo) utilizou apenas 8KB e mesmo após 10 execuções, manteve somente os 8KB, o que é absurdamente incrível.

    Um segundo teste que fiz foi considerando o tempo de execução. Para o método convencional com 10000 execuções foram utilizados 1.7 segundos. Já com o método generators utilizou 15 segundos. O que quer dizer que o método convencional não deve ser abandonado, pois deve haver a decisão de quando será importante armazenar a informação na memória ou não.

    Quando for necessário utilizar a informação apenas uma vez, ou de fato, gerar, o yield será perfeito, extremamente econômico e rápido. Mas em alguns momentos fazer uso da memória pode ser vantajoso. Ai é questão de aplicação de design.

  • Muito bom eim Wesley! Show de bola!

  • Muito interessante os generators!

Leave a Reply

Your email address will not be published. Required fields are marked *