Question: I have a problem, I seeked help in #documentcloud on Freenode and got some suggestions but still hasn't helped me fix my problem.

Basically I have a collection, very large up to 2-3 thousand items, and it -has- to be sorted, however it only has to be sorted at certain times. Using a comparator function is fine, it keeps it sorted, but takes a lot longer when all the items are being added to the collection, as it's resorting the entire collection each time one of the 2-3000 items are added.

I've tried a couple of suggestions, one being:

```
collection.comparator = function(object) { object.get('sortBy'); };
collection.sort();
collection.comparator = undefined;

```

This fails miserably and doesn't sort at all, I've also tried using `collection.sortBy(...)` this seems to return the sorted collection, but it is of no use to me as when I try `collection = collection.sortBy(...)` it just dumps the sorted collection as an array into the variable `collection`. When I try to use collection functions or utilities I get errors like .each is undefined for collection, etc.

Any ideas?

Answer: 
Try this:

```
collection.add(model, {sort: false});

```
Would it work to use [`_.sortedIndex()`](http://underscorejs.org/#sortedIndex) when individual items are added to the already sorted list? 

You could easily figure out the `sortedIndex`, `slice` the list based on that index, then `splice`: part1 + new\_entry + part2.

This keeps you from sorting the entire list every time. You're just inserting one new entry in the right spot.

My answer assumes you're already able to do an initial sort of the 2000+ item collection, and that you're just trying to overcome the issue of resort when new items are added one at a time. Your question lacks specificity about exactly where your issue is though.