Improve differentiableMap vjp performance (#83807)

Improve differentiableMap vjp performance by reserving capacity for the values and pullbacks arrays.
This commit is contained in:
Jaap Wijnen
2025-08-20 02:08:14 +02:00
committed by GitHub
parent d837d6052c
commit a5ef5fe226

View File

@@ -369,8 +369,11 @@ extension Array where Element: Differentiable {
value: [Result],
pullback: (Array<Result>.TangentVector) -> Array.TangentVector
) {
let count = self.count
var values: [Result] = []
var pullbacks: [(Result.TangentVector) -> Element.TangentVector] = []
values.reserveCapacity(count)
pullbacks.reserveCapacity(count)
for x in self {
let (y, pb) = valueWithPullback(at: x, of: body)
values.append(y)