Avatar
↓みたいな感じ。 extension Array { mutating func update(_ body: (inout Element) throws -> ()) rethrows { let count = self.count try withUnsafeMutableBufferPointer { var pointer = $0.baseAddress! let end = pointer + count while pointer != end { try body(&pointer.pointee) pointer += 1 } } } }
4:04 AM
@norio_nomura なるほど。でも Dispatch に依存したくないですねぇ。。。 < concurrentUpdate (edited)
4:06 AM
いや、違うのかな。↑はインデックス操作がなくなってるところがポイントだけど、 concurrent だとそれができない?それでも並行になると速くなりそうだけど。
4:07 AM
領域を N 分割すれば並行でもポインタ操作でできるか。 (edited)