agentsoz / ees

Emergency Evacuation Simulator
MIT License
9 stars 6 forks source link

Cache initialised population for large input files #40

Closed dhixsingh closed 4 months ago

dhixsingh commented 4 years ago

Initialising 10k+ agents can take a while if they have many beliefs of high cardinality. This function for instance, takes >5 mins for the SurfCoastShirePopulationSubgroupsIT test:

https://github.com/agentsoz/ees/blob/814a15167cb5bd108bb1c1443c014e1159717270/src/main/java/io/github/agentsoz/ees/JillBDIModel.java#L422

One option could be to cache the initialised agents (serialise the Jill agents object to file) and use the hash of the population input file to decide if the cache is valid. Once cached, the population file could then be reloaded quite quickly, for repeat runs or across runs where the same population file is used in another test.