Преглед изворни кода

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

Valeriy Van пре 5 година
родитељ
комит
165e8b0dff
1 измењених фајлова са 2 додато и 2 уклоњено
  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