以下のコードでは2通りの方法でIntの配列を作っています。 どちらの方がパフォーマンスが良いでしょうか。 let sequence = stride(from: 0, to: 1000000, by: 1) // パターンA let arrayA = sequence.map({ $0 * ($0 + 2) }).filter({ $0 % 2 == 0 }).map({ $0 + 1 }) // パターンB let lazySeq = sequence.lazy.map({ $0 * ($0 + 2) }).filter({ $0 % 2 == 0 }).map({ $0 + 1 }) let arrayB = Array(lazySeq) arrayA == arrayB // => true 答えは、パターンBの方がパフォーマンスが良いです。 この記事ではその理由を解説します。 お願
![SwiftのLazySequence/LazyCollectionを使ってパフォーマンスを追求しよう - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/bc706b407d83ac831f60e4a8a988c548dae7694a/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9U3dpZnQlRTMlODElQUVMYXp5U2VxdWVuY2UlMkZMYXp5Q29sbGVjdGlvbiVFMyU4MiU5MiVFNCVCRCVCRiVFMyU4MSVBMyVFMyU4MSVBNiVFMyU4MyU5MSVFMyU4MyU5NSVFMyU4MiVBOSVFMyU4MyVCQyVFMyU4MyU5RSVFMyU4MyVCMyVFMyU4MiVCOSVFMyU4MiU5MiVFOCVCRiVCRCVFNiVCMSU4MiVFMyU4MSU5NyVFMyU4MiU4OCVFMyU4MSU4NiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9MDYzYTMwZjZhMTI0YjQ1NmZiM2E0MjNiZTUxY2Q0NzM%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwdGFrYTEwNjgmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTBhOTU0ODNmNDQzMmQxOTBiZDY5MDdiOGZlNjAxNzNj%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D7a51056c466b9a13dc7f739a0bb9defb)