perf(bench): report tracked editor interaction metrics

This commit is contained in:
Feror 2026-05-30 19:25:41 +02:00
parent a29844dfbc
commit 525691693b

View file

@ -86,10 +86,28 @@ func printScenario(name: String, result: EditorBenchmarkResult) {
+ "\(format(measurement.durationMilliseconds)) ms | \(format(percentage))% | \(measurement.notes) |") + "\(format(measurement.durationMilliseconds)) ms | \(format(percentage))% | \(measurement.notes) |")
} }
print("") print("")
print("Tracked interaction metrics:")
print("")
print("| Operation | Time | Notes |")
print("| --- | ---: | --- |")
for name in trackedInteractionMetricNames {
guard let measurement = result.measurements.first(where: { $0.name == name }) else { continue }
print("| `\(measurement.name)` | \(format(measurement.durationMilliseconds)) ms | \(measurement.notes) |")
}
print("")
print("Measured total: \(format(result.measuredTotalMilliseconds)) ms") print("Measured total: \(format(result.measuredTotalMilliseconds)) ms")
print("") print("")
} }
let trackedInteractionMetricNames = [
"active_line_lookup",
"selection_update",
"dirty_line_invalidation_click",
"typing_state_update",
"dirty_line_invalidation_typing",
"render_update_typing_dirty"
]
func format(_ value: Double) -> String { func format(_ value: Double) -> String {
String(format: "%.3f", value) String(format: "%.3f", value)
} }