Explorar o código

Uses `reduce(into:,_)` instead of reduce(_,_)` to avoid intermediate arrays allocations

Valeriy Van %!s(int64=5) %!d(string=hai) anos
pai
achega
165e8b0dff
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      Sources/CryptoSwift/SHA3.swift

+ 2 - 2
Sources/CryptoSwift/SHA3.swift

@@ -275,8 +275,8 @@ extension SHA3: Updatable {
     self.accumulated.removeFirst(processedBytes)
 
     // TODO: verify performance, reduce vs for..in
-    let result = self.accumulatedHash.reduce(Array<UInt8>()) { (result, value) -> Array<UInt8> in
-      result + value.bigEndian.bytes()
+    let result = self.accumulatedHash.reduce(into: Array<UInt8>()) { (result, value) in
+      result += value.bigEndian.bytes()
     }
 
     // reset hash value for instance