gpt4 book ai didi

swift - Swift shell 和 Swift compiled 的区别

转载 作者:行者123 更新时间:2023-11-28 06:30:10 24 4
gpt4 key购买 nike

我是 swift 的新手,今天我写了一个小脚本来测试它的科学应用。关于我写的小程序,貌似比C++慢,但比python快。然而,我注意到,如果我使用解释器运行我的应用程序(比如从终端 swift main.swift)或者我编译它,执行时间没有区别。

我是漏掉了什么还是正常的。我原以为编译版本会有相当大的加速。这里是示例代码:

    import Foundation

func isPrime(num:Int) -> Int {

var IsPrime = 0
var count = 1

for index in 1...num-1 {

if (num % index != 0) {
++count

}

}

if (count == num-1) {

IsPrime = 1
}

return IsPrime

}


var isReallyPrime = 0
var maxNum = 10000
print(isPrime(21))

let methodStart = NSDate()

var primeArray = [Int]()

for index in 2...maxNum-1 {

if (index%1000 == 0) {

print("Iterarion \(index)")

}

if (isPrime(index) == 1) {
primeArray.append(index)
}
}

let methodFinish = NSDate()
let executionTime = methodFinish.timeIntervalSinceDate(methodStart)


var last = primeArray.last
print("Last prime number: \(last)")
print("Execution time [s]: \(executionTime)")

最佳答案

swift main.swift

编译 Swift 代码然后运行它。因此,与编译二进制文件相比,唯一的开销是代码在每次调用时都会编译。

您甚至可以传递编译器选项,例如优化级别:

swift -Onone main.swiftswift -O main.swift swift -Ounchecked main.swift

关于swift - Swift shell 和 Swift compiled 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40577073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com