我就拿官方的 demo 去测试了,用的最简单的 json
let jsonString = "{"data":{"aInt":100,"aStr":"string data","id":1},"code":200,"biz":"social"}"
let result = Result.deserialize(from: jsonString)
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
print(CACurrentMediaTime())
for i in 1...200 {
self.deserialization()
}
print(CACurrentMediaTime())
}
200 个都需要 0.04s 在 60 帧的刷新率下完全不能在主线程转
3条答案
按热度按时间70gysomp1#
有跟系统的提供的codeAble进行比对吗?
uqzxnwby2#
系统提供的转模型:
耗时大概是: time = 0.013348208332899958
HandyJSON转模型:
耗时大概是 time = 0.011834375007310882
结论:耗时差不多。
qyyhg6bp3#
系统提供的转模型:
耗时大概是: time = 0.013348208332899958
HandyJSON转模型:
耗时大概是 time = 0.011834375007310882
结论:耗时差不多。
是不是因为你的数据模型是NSObject的子类。解析swift的类应该会慢一点吧,Mirror开销会大一点吧。