func testPerformanceExampleUpdateFormat() {
self.measure {
(0...1_000).forEach { _ in
let df = DateFormatter()
df.dateFormat = "MMM yyyy"
let formattedDate1 = df.string(from: Date())
df.dateFormat = "MM/dd/yyyy"
let formattedDate2 = df.string(from: Date())
}
}
}
func testPerformanceExampleNewInstance() {
self.measure {
(0...1_000).forEach { _ in
let df1 = DateFormatter()
df1.dateFormat = "MMM yyyy"
let df2 = DateFormatter()
df2.dateFormat = "MM/dd/yyyy"
let formattedDate1 = df1.string(from: Date())
let formattedDate2 = df2.string(from: Date())
}
}
}
Время результата при обновлении формата 1000 раз: 0,0896 с.
Время результата при создании нового экземпляра 1000 раз: 0,138 с .
Насколько дорог тип?
func testPerformanceExample() {
self.measure {
(0...1_000).forEach { _ in
let int = DateFormatter()
}
}
}
Время результата составляет 0,0017 с. для 1000 экземпляров DateFormat
Давайте сравним его с другими типами:
0,000883 с. за 1 000 экземпляров Int; // let int = 2
0.000814 с. за 1 000 экземпляров String; // let str = String ("Hello")
0,00118 с. за 1 000 экземпляров даты; // let date = Date ()
0,0784 с. для 1000 экземпляров UITableViewController; let v c = UITableViewController ()
0,246 с. для 1000 экземпляров UITableView; // let tv = UITableView ()
Это дорого?