20 lines
645 B
Swift
20 lines
645 B
Swift
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
|
|
}
|
|
}
|