Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
- implementei um garbage collector pro novo reduce()
- testei o gc e ele nao alterava o termo, entao parecia certo
- joguei o gc no reduce(), o resultado final deu errado
- como o reduce() funcionava sem o gc, deve ter algum caso onde o gc altera o programa
- dei um log em todas as chamadas do gc dentro do reduce() pra ver qual alterava o programa
- nenhuma, o gc estava funcionando impecavelmente bem
- se o gc nao altera o programa, como colocar ele dentro do reduce faz o reduce parar de funcionar? wtf?
- carreguei o reducer antigo no novo e, pra cada redução do novo, printei a reducao do antigo
- isso me levou ao exato loop onde o reducer novo fazia algo que alterava sua reducao final
- percebi que nesse loop, era uma aplicacao de um lambda que nao usava sua variavel
- com isso, enfim percebi que, nesse caso, o algoritmo estava erroneamente substituindo o argumento na posicao 0 do array
- se houvesse algo importante la, a reducao era corrompida.
- o garbage collection aumentava a chance de isso acontecer, pois jogava os nós pro começo do array
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.