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

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

Typealiasをどうやって活用するのか

Typealiasって言葉、なんだややこしく見て見ないふりをしていましたが、 先日別の記事を書いた際にTypealiasの記述がありましたので、あらためて確認してみようと思います。まずaliasですが、 Macでショートカットを作成した時に記載される「エイリアス」です。ショートカットのようなものですので、 Typeのショートカット的な感覚で調査進めてまいります。

UINavigationController

TabBarとUITableViewControllerを利用して一つのUIViewControllerだけをクリックすると右にスライドするUINavigationControlerを 利用したサンプルを記載します。というのも、AppDelegate内でUINavigationをself.windowのrootviewcontrollerにセットする 方法は多々あったのですが、AppDelegate内を利用しないでNavigationを実装する方法がなくハマっていましたのでを以下記載します

UISwitchで切り替えスイッチコントロール

スイッチによるONOFFを実装するためのコントロールの説明です。
このエントリーをはてなブックマークに追加
右側のFacebookのLikeをクリック頂けると記事更新の際に通知されますので宜しければご利用下さい!