Files
2026-06-04 19:46:51 +08:00

28 lines
819 B
Python

import logging
import time
from typing import Any
from api.core.Auth import AlterState
from core.basic.character import createCharacter
logger = logging.getLogger('dcalc.calc')
def calculate(state: AlterState, config: dict[str, Any] | None) -> dict[str, Any]:
started_at = time.perf_counter()
safe_config = config or {}
character = createCharacter(state.alter, state.equVersion)
created_at = time.perf_counter()
result = character.calc(safe_config)
finished_at = time.perf_counter()
logger.info(
'calc completed alter=%s equVersion=%s create_ms=%.2f calc_ms=%.2f total_ms=%.2f',
state.alter,
state.equVersion,
(created_at - started_at) * 1000,
(finished_at - created_at) * 1000,
(finished_at - started_at) * 1000,
)
return result