Hello,
I'm testing speed of json libraries and have big problems with EVReflection.
The EVReflection parse is taking 42 SECONDS to parse this model and this json with recursive objects in lists. Running in the simulator. In the device it crash, out of memory!
Do you think we can change this or it is a real problem of evereflection and we need to migrate to faster libs? I can help to fix if you have some tips about where can be the problem.
Thank you
Model:
`import UIKit
import EVReflection
class SpeedReflection: EVObject {
var name: String? = nil
var list: [SpeedReflection]? = nil
}`
JSON:
{ "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }, { "name": "String Long Name", "list": [] }] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [{ "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }, { "name": "String Long Name", "list": [] }] }] }