[解決済み] Swiftのコード実行をベンチマークするには?
2023-05-02 07:33:23
質問
Swiftで書かれたコードブロックの実行に必要な時間を正確に伝える方法・ソフトは、以下の他にありますか?
let date_start = NSDate()
// Code to be executed
println("\(-date_start.timeIntervalSinceNow)")
どのように解決するのですか?
コードのブロックに対して単体のタイミング関数が欲しいだけなら、私は以下のSwiftヘルパー関数を使っています。
func printTimeElapsedWhenRunningCode(title:String, operation:()->()) {
let startTime = CFAbsoluteTimeGetCurrent()
operation()
let timeElapsed = CFAbsoluteTimeGetCurrent() - startTime
print("Time elapsed for \(title): \(timeElapsed) s.")
}
func timeElapsedInSecondsWhenRunningCode(operation: ()->()) -> Double {
let startTime = CFAbsoluteTimeGetCurrent()
operation()
let timeElapsed = CFAbsoluteTimeGetCurrent() - startTime
return Double(timeElapsed)
}
前者は与えられたコードのセクションに必要な時間をログアウトし、後者はそれをfloatとして返します。最初のバリアントの例として
printTimeElapsedWhenRunningCode(title:"map()") {
let resultArray1 = randoms.map { pow(sin(CGFloat($0)), 10.0) }
}
のような感じでログアウトします。
map()の経過時間: 0.0617449879646301 s
注意すること Swift のベンチマークは、選択した最適化のレベルに基づいて大きく変化します。 で、これは Swift の実行時間の相対的な比較のためにのみ有用かもしれません。それさえも、ベータ版ごとに変更されるかもしれません。
関連
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】Swift(UI)の "some "キーワードとは?)
-
[解決済み] プロパティの型が内部型を使用しているため、publicを宣言することができない
-
[解決済み] Swiftのif letと論理AND演算子&&の使い分け
-
[解決済み] SwiftUIでリストの背景色を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] クラス 'ViewController' は swift で初期化されません。
-
[解決済み] SHA256 in swift
-
[解決済み] swift で文字列から数字以外の文字を削除する
-
[解決済み] Swift- Remove Push Notification Badge number?
-
[解決済み] swiftでオプションのクロージャを作るにはどうしたらいいですか?
-
[解決済み] SwiftUIのDSLを可能にするものは何ですか?
-
[解決済み] Swiftで失敗しないイニシャライザーを実装するためのベストプラクティス
-
[解決済み] Swiftによる文字列中の部分文字列のインデックス
-
[解決済み] Xcode playgrounds が Sources フォルダにある swift ファイルにアクセスできない。