Я тестирую производительность цикла в моем коде, и удивительно большое количество (734 мс для списка из 1000 000 элементов) тратится на
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
У всех есть идеи, почему этоявляется? Я особенно удивлен, почему Свифт будет malloc
, когда то, что я делаю, в основном
let myArray = [foo, bar, baz ...] // 1'000'000 instances of a class
for item in myArray {
...
}
Кажется, что это должен быть только доступ для чтения?