ajaxorg/cloud9 — pull request #1313 by mattpardee (2012-04-18 03:00:45+00:00)
Title: Improvement/treeload

Refactor of the project tree loading to make it more efficient.

@javruben @giannis @gjtorikian

The improvements:

1. Replaced individual node appending with the trFiles.insert method. This increased loading efficiency as much as 20x on more complex tree states

2. Load all cached paths in parallel. If a return from readdir contains data without a parent in the tree, it is stored temporarily and then appended when its parent appears

3. Sort the cached folder listing so it's "more likely" the folders passed to readdir will return in top-down order. Although this is highly arbitrary (I'm not kidding myself), when it does work it gives the user more visual feedback that children are loading near the top. Previously it was more possible that folders down the tree would load first.

Please note I discovered #1312 in the process.

Also I didn't package this; I couldn't find that email that describes the packaging process and besides, other PRs I've seen haven't been packaged. Is each PR supposed to do this?