Creatures are now cached in memory for computation

Also removed dependency group calculation because the optimisation isn't
as useful to reduce DB calls if the creature is in memory anyway
This commit is contained in:
Stefan Zermatten
2022-05-11 13:30:33 +02:00
parent 23fa6fe634
commit 78cd8ffc8d
8 changed files with 145 additions and 95 deletions

View File

@@ -1,4 +1,4 @@
import buildCreatureComputation, { buildDependencyGroupComputation } from './computation/buildCreatureComputation.js';
import buildCreatureComputation from './computation/buildCreatureComputation.js';
import computeCreatureComputation from './computation/computeCreatureComputation.js';
import writeAlteredProperties from './computation/writeComputation/writeAlteredProperties.js';
import writeScope from './computation/writeComputation/writeScope.js';
@@ -6,14 +6,10 @@ import writeErrors from './computation/writeComputation/writeErrors.js';
export default function computeCreature(creatureId){
if (Meteor.isClient) return;
console.time('Compute');
const computation = buildCreatureComputation(creatureId);
computeComputation(computation, creatureId);
}
// Recompute only some groups of the dependency tree
export function computeCreatureDependencyGroup(depGroupIds, creatureId) {
const computation = buildDependencyGroupComputation(depGroupIds, creatureId);
computeComputation(computation, creatureId);
console.timeEnd('Compute');
}
function computeComputation(computation, creatureId) {