34 lines
1.1 KiB
Swift
34 lines
1.1 KiB
Swift
import Foundation
|
|
import XCTest
|
|
|
|
@testable import MarkBase
|
|
|
|
final class Timing26BTest: XCTestCase {
|
|
let modelDir = "/Users/accusys/MarkBaseEngine/models/gemma-4-26b-standard"
|
|
var engine: MarkBaseEngine!
|
|
var model: E4BModel!
|
|
let maxCtx = 128
|
|
|
|
override func setUp() {
|
|
super.setUp()
|
|
guard FileManager.default.fileExists(atPath: modelDir + "/model.safetensors") else {
|
|
return
|
|
}
|
|
let t0 = Date()
|
|
engine = try? MarkBaseEngine(autoCompile: true)
|
|
model = try? E4BModel(modelDir: modelDir, engine: engine, maxContextLength: maxCtx)
|
|
let loadTime = Date().timeIntervalSince(t0)
|
|
print("Total init: \(String(format: "%.1f", loadTime))s")
|
|
}
|
|
|
|
func testForwardTiming() throws {
|
|
try XCTSkipIf(model == nil, "26B model not found")
|
|
for i in 0..<5 {
|
|
let t = Date()
|
|
_ = try model.forward(tokenId: 100 + i, position: i)
|
|
let ft = Date().timeIntervalSince(t)
|
|
print("Forward \(i+1): \(String(format: "%.3f", ft))s")
|
|
}
|
|
}
|
|
}
|