Selaa lähdekoodia

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

Valeriy Van 5 vuotta sitten
vanhempi
commit
165e8b0dff
1 muutettua tiedostoa jossa 2 lisäystä ja 2 poistoa
  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