我正在对我的代码中的一个循环进行性能测试,并且花了惊人的大量时间(对于1000万个项目,耗时734ms)
734ms Array.subscript.read
380ms Array.subscript.getter
223ms _ArrayBuffer.checkInoutAndNativeTypeCheckedBounds(_:wasNativeTypeChecked:)
92ms swift::metadataimpl::ValueWitnesses<swift::metadataimpl::SwiftRetainableBox>::initializeWithCopy(swift::OpaqueValue*, ...
16ms _swift_isClassOrObjCExistentialType
3ms swift_bridgeObjectRelease
329ms malloc
任何人都知道为什么会这样吗?我特别感到惊讶的是,当我基本上在做什么时,为什么Swift会malloc
let myArray = [foo, bar, baz ...] // 1'000'000 instances of a class
for item in myArray {
...
}
似乎这应该只是读取权限?