小编Iri*_*mFX的帖子

Swift中的第一步,在BST中分配小对象时的性能问题

在尝试学习Swift 2.2时,我在尝试分配许多小对象时遇到了严重的性能下降(从根本上说,是一个262144元素的BST).我目前的基准是一个古老的喀嚓,我几年前写的,一个Java 1.8.0_74编译它,在59秒(59036178微秒)我2012的Retina MacBook Pro的执行.我可以通过Instruments观察到的问题是每次迭代我会得到几十个swift_retain_和swift_release.不知道如何避免它们:

import Foundation
import Darwin;

import Foundation

public class BinarySearchTree<T : Comparable> {
    private var _value : T?;

    private var _leftTree : BinarySearchTree<T>?;
    private var _rightTree : BinarySearchTree<T>?;

    public init(value : T) {
        _value = value;
    }

    var value : T? {
        get {
            return self._value;
        }
        set {
            self._value = newValue;
        }
    }

    var leftTree : BinarySearchTree<T>? {
        get {
            return self._leftTree;
        }
        set {
            self._leftTree = newValue;
        }
    }

    var rightTree : BinarySearchTree<T>? { …
Run Code Online (Sandbox Code Playgroud)

memory-management swift

7
推荐指数
2
解决办法
359
查看次数

标签 统计

memory-management ×1

swift ×1