swift KVS + FPのみでなんとかする版

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift KVS + FPのみでなんとかする版相关的知识,希望对你有一定的参考价值。

//: Playground - noun: a place where people can play

// FP-KVS版
//import UIKit
import Foundation

var str = "Hello, playground"

let MAX = 100//_000
let testValues = Array(count:MAX, repeatedValue:2)
var total = 0, startTime=0.0

func reset() {
    total = 0
    startTime = currentTime()
}

func currentTime() -> Double {
    return ((CFAbsoluteTimeGetCurrent() as Double) * 1000.0)
}

func letUsLoopin(@noescape f:()->Void) -> Double {
    reset()
    f()
    return (currentTime() - startTime)
}

// 実行関数配列
var runners :[String:()->Void] = [
    "closed for": {
        for i in 0 ..< testValues.count {
        total += testValues[i]
        }
    },

    "opened for" : {
        let max = testValues.count - 1
        for i in 0...max {
            total += testValues[i]
        }
    },

    "zipIndexing" : {
        for (index,v) in testValues.enumerate() {
            total += v
        }
    },

    "for-in" : {
        for v in testValues {
            total += v
        }
    },

    "for-each" : {
        testValues.forEach {
            total += $0
        }
    },

    "while" : {
        var test = testValues.count - 1
        while test > 0 {
            total += testValues[test]
            test -= 1
        }
    },

    "do-while" : {
        var i = 0
        repeat {
            total += testValues[i]
            i += 1
        } while(i < testValues.count)
    },
]

// 実行時間記録
var runTimes = runners.map { ($0.0, Double(0)) }
let trialTimes = 1_000_000

for i in 0 ..< trialTimes {
    runTimes = runTimes.map {
                    ($0.0, $0.1 + letUsLoopin(runners[$0.0]!))
                }
}

runTimes.forEach {
    print("'\($0.0)':\($0.1),")
}

以上是关于swift KVS + FPのみでなんとかする版的主要内容,如果未能解决你的问题,请参考以下文章

python 蟒蛇の瓶子で书いているAPIをテストするために,WebTest的を使ったテストツールを试してみました.unittestの基本的な构成のみですが,自分用メモ及公开しておきます。

markdown CSSのみでの日本地図

php 170915【CSSのみで実装】言语切替

php 170712 SVGをcssのみで导入

php 170831 cssのみでタブ切り替え

scss 170915【170831cssのみでタブ切り替え】実装