小编Mac*_*Mac的帖子

为什么在 Swift 中每次调用 Decimal 类型的 formatted() 方法都会越来越慢?

我需要将整数分成 3 位数字,并研究formatted()Decimal类型的方法。对随机整数每次
调用该formatted()类型的方法100,000 次会逐渐降低性能。 我想知道为什么会发生这种情况。Decimal

import Foundation

/// https://stackoverflow.com/a/56381954
func calculateTime(block : (() -> Void)) {
  let start = DispatchTime.now()
  block()
  let end = DispatchTime.now()
  let nanoTime = end.uptimeNanoseconds - start.uptimeNanoseconds
  let timeInterval = Double(nanoTime) / 1_000_000_000
  print("Time: \(timeInterval) seconds")
}

calculateTime { for _ in 0...100_000 { _ = Decimal(Int.random(in: 0...Int.max)).formatted() } }
calculateTime { for _ in 0...100_000 { _ = Decimal(Int.random(in: 0...Int.max)).formatted() } }
calculateTime { for _ in …
Run Code Online (Sandbox Code Playgroud)

swift

3
推荐指数
2
解决办法
140
查看次数

标签 统计

swift ×1