{"action":"created","issue":{"url":"https://api.github.com/repos/att/rcloud/issues/1452","labels_url":"https://api.github.com/repos/att/rcloud/issues/1452/labels{/name}","comments_url":"https://api.github.com/repos/att/rcloud/issues/1452/comments","events_url":"https://api.github.com/repos/att/rcloud/issues/1452/events","html_url":"https://github.com/att/rcloud/issues/1452","id":76494032,"number":1452,"title":"after creating big recursive objects, Workspace viewer refresh causes long run cell run times","user":{"login":"holyguster","id":927657,"avatar_url":"https://avatars.githubusercontent.com/u/927657?v=3","gravatar_id":"","url":"https://api.github.com/users/holyguster","html_url":"https://github.com/holyguster","followers_url":"https://api.github.com/users/holyguster/followers","following_url":"https://api.github.com/users/holyguster/following{/other_user}","gists_url":"https://api.github.com/users/holyguster/gists{/gist_id}","starred_url":"https://api.github.com/users/holyguster/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/holyguster/subscriptions","organizations_url":"https://api.github.com/users/holyguster/orgs","repos_url":"https://api.github.com/users/holyguster/repos","events_url":"https://api.github.com/users/holyguster/events{/privacy}","received_events_url":"https://api.github.com/users/holyguster/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/att/rcloud/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/att/rcloud/milestones/17","html_url":"https://github.com/att/rcloud/milestones/1.4","labels_url":"https://api.github.com/repos/att/rcloud/milestones/17/labels","id":955437,"number":17,"title":"1.4","description":"","creator":{"login":"gordonwoodhull","id":1366709,"avatar_url":"https://avatars.githubusercontent.com/u/1366709?v=3","gravatar_id":"","url":"https://api.github.com/users/gordonwoodhull","html_url":"https://github.com/gordonwoodhull","followers_url":"https://api.github.com/users/gordonwoodhull/followers","following_url":"https://api.github.com/users/gordonwoodhull/following{/other_user}","gists_url":"https://api.github.com/users/gordonwoodhull/gists{/gist_id}","starred_url":"https://api.github.com/users/gordonwoodhull/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gordonwoodhull/subscriptions","organizations_url":"https://api.github.com/users/gordonwoodhull/orgs","repos_url":"https://api.github.com/users/gordonwoodhull/repos","events_url":"https://api.github.com/users/gordonwoodhull/events{/privacy}","received_events_url":"https://api.github.com/users/gordonwoodhull/received_events","type":"User","site_admin":false},"open_issues":44,"closed_issues":8,"state":"open","created_at":"2015-01-28T19:17:36Z","updated_at":"2015-05-18T13:54:07Z","due_on":"2015-07-04T04:00:00Z","closed_at":null},"comments":2,"created_at":"2015-05-14T21:20:39Z","updated_at":"2015-05-18T14:37:50Z","closed_at":null,"body":"Example cells:\r\n\r\nCell 1- this takes a bit of time to run for me, as i have 262 notebooks, and the resulting object takes a long time for str() to generate the output for the Workspace viewer\r\n```\r\nids <- rcloud.config.all.notebooks()\r\n```\r\n\r\nCell 2 - say the next cell has just this code below, it takes a long time to run because the Workspace viewer gets refreshed for the big ids object created in cell1 above, even though the ids object did not change at all\r\n\r\n```\r\n1+1\r\n```\r\n... and most of the time every subsequent cell takes a long time to run (but not all the time).  I'm not sure why subsequent cells run fast sometimes, but taking a long time is much more common than running fast.\r\n"},"comment":{"url":"https://api.github.com/repos/att/rcloud/issues/comments/103081527","html_url":"https://github.com/att/rcloud/issues/1452#issuecomment-103081527","issue_url":"https://api.github.com/repos/att/rcloud/issues/1452","id":103081527,"user":{"login":"s-u","id":2073427,"avatar_url":"https://avatars.githubusercontent.com/u/2073427?v=3","gravatar_id":"","url":"https://api.github.com/users/s-u","html_url":"https://github.com/s-u","followers_url":"https://api.github.com/users/s-u/followers","following_url":"https://api.github.com/users/s-u/following{/other_user}","gists_url":"https://api.github.com/users/s-u/gists{/gist_id}","starred_url":"https://api.github.com/users/s-u/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/s-u/subscriptions","organizations_url":"https://api.github.com/users/s-u/orgs","repos_url":"https://api.github.com/users/s-u/repos","events_url":"https://api.github.com/users/s-u/events{/privacy}","received_events_url":"https://api.github.com/users/s-u/received_events","type":"User","site_admin":false},"created_at":"2015-05-18T14:37:50Z","updated_at":"2015-05-18T14:37:50Z","body":"There are two separate issues:\r\n\r\n * `str()` can take forever on large recursive objects. We only use the first 3 lines so it's a complete waste. This is the real problem observed in this issue.\r\n * enviewer re-builds all objects on each call. We have ways to guess which objects changed in the workspace so we could make this a bit more smart."}}