【Swift】関数の処理の実行時間を計測する方法!

この記事からわかること

  • Swift処理実行時間計測する方法
  • DispatchTime使い方

index

[open]

\ アプリをリリースしました /

みんなの誕生日

友達や家族の誕生日をメモ!通知も届く-みんなの誕生日-

posted withアプリーチ

環境

Swiftで処理の実行時間を計測する方法

Swiftで処理にかかった実行時間を計測するには単純に処理の開始前の時刻と処理の開始後に時刻の差を求めることで算出できます。KotlinのようにmeasureTimeMillisメソッドのようなものはないので以下のように自前で実装しておくと使いやすいです。

おすすめ記事:【Android Studio/Kotlin】処理の実行時間を計測する方法!measureTimeMillis

// 処理の実行時間を計測するカスタムメソッド
func measureTime(task: () -> Void) {
    let startTime = DispatchTime.now()
    
    task()
    
    let endTime = DispatchTime.now()
    let executionTime = endTime.uptimeNanoseconds - startTime.uptimeNanoseconds
    
    let executionTimeInSeconds = Double(executionTime) / 1_000_000_000
    print("処理経過時間: \(executionTimeInSeconds) 秒")
}

// 測定したい処理をクロージャとして渡す
measureTime {
    // 実行時間を測定したい処理
    // 例
    for i in 1...100_000 {
        print(i)
    }
}

実行すると以下のように処理にかかった時間を表示させることができます。

1
〜〜〜〜〜
1000000
処理経過時間: 3.057601833 秒

別に時刻を取得できればDateなどでも良いと思いますが、システムクロックを使用したDispatchTimeの方が精密な時間が取得できる気がするのでこちらを使用しているだけです。

まだまだ勉強中ですので間違っている点や至らぬ点がありましたら教えていただけると助かります。

ご覧いただきありがとうございました。

searchbox

スポンサー

ProFile

ame

趣味:読書,プログラミング学習,サイト制作,ブログ

IT嫌いを克服するためにITパスを取得しようと勉強してからサイト制作が趣味に変わりました笑
今はCMSを使わずこのサイトを完全自作でサイト運営中〜

New Article

index