从对象的 属性 或 json 加载数据的速度更快吗?
Does data load faster from an object's property or from json?
我想知道从 json 或从对象初始化 class 之间是否存在任何性能差异。
所以,想象一下以下场景:
func getDataFromServer(){
...
var data = doc.data()
let obj = Object(id: String, prices: [data["price"] as! Double], .. , .. , .. , .. , ..)
if (dictionary[id] != nil) {
// obj already exists. Update its info.
var oldObj = dictionary[id]
oldObj.updateInfoWith(price: obj.prices[0], .. , .. , .. , .. , ..) //(1)
//behind the scenes updateInfoWith does: oldObj.prices.append(obj.prices[0])
}
else{
objects.append(obj)
}
}
在第 (1) 行,从 obj.prices[0]
或 data["price"] as! Double
获取价格在性能上有什么不同吗?数据 json 树与对象 class 的属性数量一样大,因此对象 class 获取数据 json 树中包含的所有数据。一个对象有大约 10 个属性,其中三个是数组(价格是其中之一)。
这些操作:运行 a getter 与访问字典(就此而言 valueForKey:
)在性能方面即使不是几乎相同,也非常具有可比性。
更大的性能杠杆将来自不获取尽可能多的数据,并且一旦拥有它就懒惰分配(例如,只保留 querySnapshots 并且只获取文档或 doc.data()当 UI).
需要该数据时
取决于 JSON 数据内容,如果您的 JSON 数据确实是 quite big and contains a lot of Arrays and Dictionaries
,最好使用 Object class
,就像您过滤 JSON 在您需要显示数据的同一控制器上将 take memory
即 Load on single controller
而对象 class 将在那里分配负载并迭代 JSON 并在一个中给您特定的结果第
行
所以这取决于 JSON Structure
-> 或者你可以使用 Object class 用于 Big Structured JSON 这样就不会为所有处理过载单个控制器
-> 可以使用携带来自 JSON 的数据的小型结构,因此,您不需要在 JSON 中为相同的数据一次又一次地迭代
注意:我更喜欢对象 class 因为你说数据很大
我想知道从 json 或从对象初始化 class 之间是否存在任何性能差异。
所以,想象一下以下场景:
func getDataFromServer(){
...
var data = doc.data()
let obj = Object(id: String, prices: [data["price"] as! Double], .. , .. , .. , .. , ..)
if (dictionary[id] != nil) {
// obj already exists. Update its info.
var oldObj = dictionary[id]
oldObj.updateInfoWith(price: obj.prices[0], .. , .. , .. , .. , ..) //(1)
//behind the scenes updateInfoWith does: oldObj.prices.append(obj.prices[0])
}
else{
objects.append(obj)
}
}
在第 (1) 行,从 obj.prices[0]
或 data["price"] as! Double
获取价格在性能上有什么不同吗?数据 json 树与对象 class 的属性数量一样大,因此对象 class 获取数据 json 树中包含的所有数据。一个对象有大约 10 个属性,其中三个是数组(价格是其中之一)。
这些操作:运行 a getter 与访问字典(就此而言 valueForKey:
)在性能方面即使不是几乎相同,也非常具有可比性。
更大的性能杠杆将来自不获取尽可能多的数据,并且一旦拥有它就懒惰分配(例如,只保留 querySnapshots 并且只获取文档或 doc.data()当 UI).
需要该数据时取决于 JSON 数据内容,如果您的 JSON 数据确实是 quite big and contains a lot of Arrays and Dictionaries
,最好使用 Object class
,就像您过滤 JSON 在您需要显示数据的同一控制器上将 take memory
即 Load on single controller
而对象 class 将在那里分配负载并迭代 JSON 并在一个中给您特定的结果第
所以这取决于 JSON Structure
-> 或者你可以使用 Object class 用于 Big Structured JSON 这样就不会为所有处理过载单个控制器
-> 可以使用携带来自 JSON 的数据的小型结构,因此,您不需要在 JSON 中为相同的数据一次又一次地迭代
注意:我更喜欢对象 class 因为你说数据很大