Swift転職なら=>【LevTech】
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大
↑クリックして拡大

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

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  <- 処理速度

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

デバッグ時とリリース時に処理を変更する#ifdef DEBUG のやり方

DEBUG時だけ特定の動作をさせて、リリース時に排除したい、そんな時に利用する方法です。Swiftでは標準ではDEBUGとリリースの判断がつかないので、 コンパイル時に設定する必要があります

UITabBarController

スマホ画面下にタブが出てきて画面を切り替えできるUITabBarViewControllerクラスです。UITabBarItemの記事を追加しましたがUITabbarの記事がなかったので追加しました。(※目のチカチカにご注意ください。)

AppleWatchをNSFileCoordinatorとKeychainでデータ交換

前回の記事(ナターシャさんのサンプルデモを元に解説)の続きです。今記事はNSUserDefaultではなく、 NSFileCoordinatorとKeychain sharingを利用しての解説です。ナターシャさんのサンプルに関して前記事をご参照ください。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!