Avatar
以前どこかで初期化なしでFloat配列を作りたいって話で聞いた方法をずっと使ってたんですが 今急にコピーコスト考えるとそっちのが高いんじゃと思って試してみたらやっぱり遅かった…… func testA() { let size = 10_000_000 measure { // 0.013sec let array = [Float](repeating: 0, count: size) } } func testB() { let size = 10_000_000 measure { // 0.034sec let dst = UnsafeMutablePointer<Float>.allocate(capacity: size) defer { dst.deallocate(capacity: size) } let array = [Float](UnsafeBufferPointer(start: dst, count: size)) } }