{"action":"created","issue":{"url":"https://api.github.com/repos/daostack/alchemy/issues/194","repository_url":"https://api.github.com/repos/daostack/alchemy","labels_url":"https://api.github.com/repos/daostack/alchemy/issues/194/labels{/name}","comments_url":"https://api.github.com/repos/daostack/alchemy/issues/194/comments","events_url":"https://api.github.com/repos/daostack/alchemy/issues/194/events","html_url":"https://github.com/daostack/alchemy/issues/194","id":376019691,"node_id":"MDU6SXNzdWUzNzYwMTk2OTE=","number":194,"title":"Load time optimization [discussion issue; will spin of actionable issues]","user":{"login":"jellegerbrandy","id":1306173,"node_id":"MDQ6VXNlcjEzMDYxNzM=","avatar_url":"https://avatars3.githubusercontent.com/u/1306173?v=4","gravatar_id":"","url":"https://api.github.com/users/jellegerbrandy","html_url":"https://github.com/jellegerbrandy","followers_url":"https://api.github.com/users/jellegerbrandy/followers","following_url":"https://api.github.com/users/jellegerbrandy/following{/other_user}","gists_url":"https://api.github.com/users/jellegerbrandy/gists{/gist_id}","starred_url":"https://api.github.com/users/jellegerbrandy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jellegerbrandy/subscriptions","organizations_url":"https://api.github.com/users/jellegerbrandy/orgs","repos_url":"https://api.github.com/users/jellegerbrandy/repos","events_url":"https://api.github.com/users/jellegerbrandy/events{/privacy}","received_events_url":"https://api.github.com/users/jellegerbrandy/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":7,"created_at":"2018-10-31T15:26:02Z","updated_at":"2018-11-04T22:41:27Z","closed_at":null,"author_association":"MEMBER","body":"[this is a discussion issue, to identify potential issues about performance. Once we have actionable items, we can make separate issues]\r\n\r\nThe problem: the app takes a long time to  render.\r\n\r\nThese :arrow_down: give an idea: 20secs to download the data, 40 secs or more to render it (on chrome/debian with superfast internet):\r\n\r\n![image](https://user-images.githubusercontent.com/1306173/47798311-6ce24a80-dd28-11e8-9fc0-a737041963f6.png)\r\n![image](https://user-images.githubusercontent.com/1306173/47798387-900cfa00-dd28-11e8-8cac-515eb56e37a3.png)\r\n![image](https://user-images.githubusercontent.com/1306173/47798570-f003a080-dd28-11e8-8ee9-c1ae230c4df8.png)\r\n\r\n\r\nI think to work well on this we'd need some automated tools that tell us the loading time for each build, But we can go for low-hanging fruit first.\r\n\r\n\r\nHere are some possible things to look at:\r\n\r\n* **most of the time is spent on rendering**. The console.log suggests that there is some unnecessary stuff happing (now way we need to load \"Avatar\" a 1000 times to render the page):\r\n![image](https://user-images.githubusercontent.com/1306173/47797451-a3b76100-dd26-11e8-8842-832e2820a57b.png). I think here there is most to gain. \r\n\r\n* the initial state file is almost 1M. It can be zipped, which will bring it from 1M to 96K. \r\n\r\n* the bundle is 1M, which seems a bit big as well. \r\n\r\n* we also should look at optimizing the server for the bundle download: it takes a consistent 20s to download that file on my machine, which is way too much. \r\n\r\n* now the initial state file is only download AFTER the bundle; this can e done in parallel (i.e. download it in the index.ts or whatever it is called)\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/daostack/alchemy/issues/comments/435715210","html_url":"https://github.com/daostack/alchemy/issues/194#issuecomment-435715210","issue_url":"https://api.github.com/repos/daostack/alchemy/issues/194","id":435715210,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNTcxNTIxMA==","user":{"login":"tsuberim","id":33967618,"node_id":"MDQ6VXNlcjMzOTY3NjE4","avatar_url":"https://avatars2.githubusercontent.com/u/33967618?v=4","gravatar_id":"","url":"https://api.github.com/users/tsuberim","html_url":"https://github.com/tsuberim","followers_url":"https://api.github.com/users/tsuberim/followers","following_url":"https://api.github.com/users/tsuberim/following{/other_user}","gists_url":"https://api.github.com/users/tsuberim/gists{/gist_id}","starred_url":"https://api.github.com/users/tsuberim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tsuberim/subscriptions","organizations_url":"https://api.github.com/users/tsuberim/orgs","repos_url":"https://api.github.com/users/tsuberim/repos","events_url":"https://api.github.com/users/tsuberim/events{/privacy}","received_events_url":"https://api.github.com/users/tsuberim/received_events","type":"User","site_admin":false},"created_at":"2018-11-04T22:41:27Z","updated_at":"2018-11-04T22:41:27Z","author_association":"MEMBER","body":"@jellegerbrandy https://github.com/daostack/alchemy/blob/dev/src/actions/arcActions.ts#L69 Loads DAOs in a sequential order instead of in parallel."}}
{"actor":{"display_login":"tsuberim"}}