import Foundation /// 单次生成的性能统计,两后端(MNN / MLX)归一。 /// MNN 取自 LlmContext(prefill_us / decode_us);MLX 取自 GenerateCompletionInfo。 struct GenerateStats: Sendable, Equatable { var promptTokens: Int var genTokens: Int /// prefill(读入 prompt)耗时,秒。 var prefillSeconds: Double /// decode(逐 token 生成)耗时,秒。 var decodeSeconds: Double var prefillTokensPerSecond: Double { prefillSeconds > 0 ? Double(promptTokens) / prefillSeconds : 0 } var decodeTokensPerSecond: Double { decodeSeconds > 0 ? Double(genTokens) / decodeSeconds : 0 } }