perf(game-engine): 대규모 NPC 천통 시간을 계측
시나리오 2601의 880명·94도시를 DB와 Redis 없이 자동 실행하고 커맨드, 수뇌 여부, 연월별 시간을 JSON으로 기록한다.
This commit is contained in:
@@ -67,10 +67,12 @@ export type TurnTestHarnessOptions = {
|
||||
};
|
||||
turnProcessorOptions?: {
|
||||
tickMinutes: number;
|
||||
beforeExecuteGeneral?: InMemoryTurnProcessorOptions['beforeExecuteGeneral'];
|
||||
afterExecuteGeneral?: InMemoryTurnProcessorOptions['afterExecuteGeneral'];
|
||||
};
|
||||
worldRef?: { current: InMemoryTurnWorld | null };
|
||||
onActionResolved?: Parameters<typeof createReservedTurnHandler>[0]['onActionResolved'];
|
||||
onActionProfiled?: Parameters<typeof createReservedTurnHandler>[0]['onActionProfiled'];
|
||||
commandRngFactory?: Parameters<typeof createReservedTurnHandler>[0]['commandRngFactory'];
|
||||
wrapGeneralTurnHandler?: (handler: GeneralTurnHandler) => GeneralTurnHandler;
|
||||
extraCalendarHandlers?: TurnCalendarHandler[];
|
||||
@@ -110,6 +112,7 @@ export const createTurnTestHarness = async (options: TurnTestHarnessOptions) =>
|
||||
unitSet: options.snapshot.unitSet,
|
||||
getWorld: () => worldRef.current,
|
||||
onActionResolved: options.onActionResolved,
|
||||
onActionProfiled: options.onActionProfiled,
|
||||
commandRngFactory: options.commandRngFactory,
|
||||
});
|
||||
|
||||
@@ -150,6 +153,7 @@ export const createTurnTestHarness = async (options: TurnTestHarnessOptions) =>
|
||||
|
||||
const processor = new InMemoryTurnProcessor(world, {
|
||||
tickMinutes: options.turnProcessorOptions?.tickMinutes ?? 10,
|
||||
beforeExecuteGeneral: options.turnProcessorOptions?.beforeExecuteGeneral,
|
||||
afterExecuteGeneral: options.turnProcessorOptions?.afterExecuteGeneral,
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user