att / rcloud

Collaborative data analysis and visualization
http://rcloud.social
MIT License
430 stars 141 forks source link

Notebook tree performance issues - consider dynamic approach #306

Closed s-u closed 10 years ago

s-u commented 10 years ago

The notebook tree performance degrades quickly. It already becomes painful and it will lag more and more as we the number of users and notebook increases.

As the notebook trees get bigger, I think the only scalable solution is to make it dynamic - construct it on demand, do no try to load everything at once. 99% of the time I only care about my notebooks which is a small fraction - so load notebooks by user dynamically. I'd rather have a small delay on loading other users' notebooks than have a constant lag for every action on my notebook tree (rename, [un]starring etc.). Similarly, it may be better to load history on demand as well.

As a general rule in the UI frequent actions should be optimized for response time at the cost of less frequent actions if necessary.

gordonwoodhull commented 10 years ago

To be specific, you are now talking about the speed of page load?

s-u commented 10 years ago

No, I'm taking about any interactions that involve the notebook list like re-naming, staring, selecting, deleting etc.

gordonwoodhull commented 10 years ago

Putting code into develop which still loads everything but delays creating dom elements until the folder is opened.

cscheid commented 10 years ago

Can we get an informal reading of how long it takes now? In between gordon's lazy loading and my patches to jqtree, I think this is now fast enough to close for now.

s-u commented 10 years ago

All times are largest single time between calls not spent in R - typically after load.multiple.user.configs (init)/ before save.user.config (others). Measured on naraj which is on up-to-date develop branch.

BUT major caveat - this is over low-bandwidth VPN so once we're back from travels I'd like to re-run those from a wired connection to see if some of that is due to network bandwidth.

cscheid commented 10 years ago

This now feels "acceptably slow" for me; I'm going to close it.