{"push_id":1574674921,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"ab1579b8b4a2c6768fe73369a5d698e8af2f4152","before":"ba402e0b3dc5a8d01d81fb92405d1f88b6d1415e","commits":[{"sha":"ab1579b8b4a2c6768fe73369a5d698e8af2f4152","author":{"name":"Mark Harrison","email":"16c2ebaa62593845039c5540ec315fdccee3bf84@gmail.com"},"message":"Greatly speed up loading gene pool files\n\nInstead of loading every Genetic_AI in a file and picking out the ones\nthat were still alive during the last run, find the IDs of the living\nAIs and only load those. Obvious, really.\n\nWhat's less obvious is that this also drastically cuts down on memory\nusage, even after the non-living AIs are destroyed after leaving the\nload_gene_pool() function scope. The explanation for this is found here:\n\nhttp://stackoverflow.com/a/34284122/2156537\n\nIn short, std::map allocates items on the heap despite it begin on the\nstack. This memory cannot always be reclaimed immediately by the OS when\nfreed, especially after a large allocation (like loading 100k AIs from a\nfile).","distinct":true,"url":"https://api.github.com/repos/MarkZH/Genetic_Chess/commits/ab1579b8b4a2c6768fe73369a5d698e8af2f4152"}]}
{"actor":{"display_login":"MarkZH"}}