Array和ContiguousArray的removeFrist和removeLast方法耗时及其恐怖,在playground中进行十万次removeFirst和removeLast操作的时间约5秒,但如果直接新建一个ContiguousArray数组,耗时会降到2秒左右。所以:
当需要使用queue.removeFirst()时,可以用queue = ContiguousArray(queue[1..<queue.count])来降低耗时。
removeLast同理
在固定个数场景时,尽量使用NSArray而不是可变Array,对NSArray取下标进行修改的操作几乎不耗时。