let grid = (0 ..< rows * cols).map { (index: Int) -> R in let (i, j) = index /% cols return g(i, j) }
return (0 ..< a.cols) .map({j in a[i, j] * b[j, k]}) .reduce(0) {$0 + $1}
10.12 s 96.2% 659.00 ms specialized closure #1 in static Matrix.multiply1<A>(a:b:) 3.70 s 35.1% 3.70 s _swift_release_ 2.27 s 21.6% 375.00 ms swift_bridgeObjectRetain 1.91 s 18.1% 0 s 0x7fff5dcb674f
retainとreleaseで50%ぐらいかかってて、多分この正体が map の返り値。