Почему у ObjectManager.remove квадратичная сложность?
При удалении части меток, при работе с больше чем 5000объектов начинает все сильно тормозить. Подумал что можно решить проблему, если количество итоговых меток меньше чем нужно удалить, вызвав функцию removeAll и нарисовав все заного. Но у нее тоже квадратичная сложность от количества текущих меток.
_removeObjectWrappers: function (objects) { var result = [], found; for (var i = 0, l = this._objectWrappers.length; i < l; i++) { found = false; for (var j = 0, k = objects.length; j < k && !found; j++) { if (objects[j].id == this._objectWrappers[i].hash.id) { delete this._wrappersById[objects[j].id]; found = true; } } if (!found) { result.push(this._objectWrappers[i]); } } this._objectWrappers = result; } removeAll: function () { var objects = this.getAll(); this._objectsById = {}; this._collectionComponent.removeAll(); this.events.fire('objectsremove', new Event({ type: 'objectsremove', target: this, objects: objects })); return this; }