Swiftコードのパフォーマンス悪化 - 6つのケースでの実験結果を報告 by Akihiro Kokubo

iOSDC Japan 2023
採択
2023/09/02 17:10〜
Track A
ルーキーズLT(5分)

Swiftコードのパフォーマンス悪化 - 6つのケースでの実験結果を報告

akihiro_kokubo Akihiro Kokubo akihiro_kokubo

パフォーマンスにネガティブな影響のあるコードは、意図せず簡単に書けてしまいます。
例えば、配列の中で条件に合う最初の要素を取得する場合はどうでしょうか?
配列に対し filter を適用した後に first を適用するよりも、first(where:) を用いる方が速いでしょう。
ならば、どのくらい速いのでしょうか?
このトークでは、パフォーマンスが悪化しうる6つのケースを挙げ、どのくらいの差が出るのかを実験・検証します。

実験の対象とする6つのケース

  • コレクション内のオブジェクトの存在確認
  • コレクションが空かどうかの確認
  • 文字列が空文字かどうかの確認
  • コレクション内の条件に合う最初のオブジェクトの取得
  • コレクション内の最小のオブジェクトの取得
  • コレクション内の全てのオブジェクトが条件を満たすことの確認

対象者

  • “Swifty” なコードを書きたい人