↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

頭痛が減ったので共有です!

rebuild.fmを応援しています!

HOME > 処理速度取得

処理速度取得

処理の実行速度を判明します。swift開発時に文字列連結が遅いことが疑問になって調べる際に作成しました。どうやらObjective-Cに比べて文字列連結などは簡単になったのですが、処理速度が恐ろしく遅くなっているようです。

まだまだ改善中のようですが、単純な文字列連結だとObjective-Cに比べて13倍も遅いようです。 私も実際遅いこと実感して調べていましたので、まだまだ多くの人が同じ境遇なのかと思います。ベータ版の際よりは速くなっているので今後に期待です!(2014/9/30)

参考:(英語)OBJECTIVE-C VS SWIFT – FACEOFF 2.0

サンプル構文


//速度取得開始
let startTime = self.currentTime();
... ここに速度を確認したい処理
//速度取得完了
let interval =  ((CFAbsoluteTimeGetCurrent() as Double) * 1000.0) - startTime;
println("PrcoessSpeed: \(interval)ms");

ProcessSpeedCheckUtil例文

ProcessSpeedCheck.swiftをダウンロードする。(ご自由にご利用ください)

import Foundation

struct ProcessSpeedCheckUtil {
    
    static var total = 0;
    static var startTime:Double = 0;
    static var interval:Double = 0;
    
    static func start(name:String = ""){
        startTime = 0;
        startTime = self.currentTime();
        println("ProcessSpeedCheck started <\(name)>");

    }
    static func end(){
        interval = currentTime() - startTime;
        println("ProcessSpeedCheck ended \(interval)ms");
    }
    
    static func currentTime() -> Double {
        return ((CFAbsoluteTimeGetCurrent() as Double) * 1000.0);
    }
}

//利用方法
ProcessSpeedCheckUtil.start("Process 1");
... ここに速度を確認したい処理
ProcessSpeedCheckUtil.start("end");

//以下の様に出力されます。
ProcessSpeedCheck started : Process 1
ProcessSpeedCheck ended : 1.23456789  <- 処理速度

↓こんな記事もありますよ!


2021-05-14 14:21:41

WatchOSのwatchconnectivityのFiletransferの落とし穴。と、避け方。

AppleWatch 実機だと成功するんだけど、シュミレーターだと失敗するという、、、 昔作成してた時は成功してたのになーと思って調べると、どうやら昔は成功してたみたい。watchOS6以降は...

2021-05-06 14:04:37

LINEのアニメーションスタンプ制作の落とし穴、、、失敗談

ゴールデンウィークにLINEスタンプを作成してみました。 作り切って申請も通したんですが、意図したアニメーションと違う、、、、 LINEクリエーターの画面だと、アニメーションのプレビュー...

2021-05-01 18:05:35

久しぶりのAdmobをobjective-cに実装。コンパイルエラーだらけ。バーミッション不具合でエミュレータにインスコできない。

忘れないようにメモ エミュレータにアプリをインストールする際にパーミッション系のエラーがでた時、また、iphone実機にインストールする際にも権限系のエラーが出る場合。 ターゲット→ex...
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!