{"action":"created","issue":{"url":"https://api.github.com/repos/facebook/react/issues/7483","repository_url":"https://api.github.com/repos/facebook/react","labels_url":"https://api.github.com/repos/facebook/react/issues/7483/labels{/name}","comments_url":"https://api.github.com/repos/facebook/react/issues/7483/comments","events_url":"https://api.github.com/repos/facebook/react/issues/7483/events","html_url":"https://github.com/facebook/react/pull/7483","id":170905233,"number":7483,"title":"Improve DEV performance in Chrome","user":{"login":"gaearon","id":810438,"avatar_url":"https://avatars.githubusercontent.com/u/810438?v=3","gravatar_id":"","url":"https://api.github.com/users/gaearon","html_url":"https://github.com/gaearon","followers_url":"https://api.github.com/users/gaearon/followers","following_url":"https://api.github.com/users/gaearon/following{/other_user}","gists_url":"https://api.github.com/users/gaearon/gists{/gist_id}","starred_url":"https://api.github.com/users/gaearon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gaearon/subscriptions","organizations_url":"https://api.github.com/users/gaearon/orgs","repos_url":"https://api.github.com/users/gaearon/repos","events_url":"https://api.github.com/users/gaearon/events{/privacy}","received_events_url":"https://api.github.com/users/gaearon/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/facebook/react/labels/CLA%20Signed","name":"CLA Signed","color":"e7e7e7"},{"url":"https://api.github.com/repos/facebook/react/labels/GH%20Review:%20accepted","name":"GH Review: accepted","color":"009800"},{"url":"https://api.github.com/repos/facebook/react/labels/semver-patch","name":"semver-patch","color":"0e8a16"}],"state":"closed","locked":false,"assignee":{"login":"spicyj","id":6820,"avatar_url":"https://avatars.githubusercontent.com/u/6820?v=3","gravatar_id":"","url":"https://api.github.com/users/spicyj","html_url":"https://github.com/spicyj","followers_url":"https://api.github.com/users/spicyj/followers","following_url":"https://api.github.com/users/spicyj/following{/other_user}","gists_url":"https://api.github.com/users/spicyj/gists{/gist_id}","starred_url":"https://api.github.com/users/spicyj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spicyj/subscriptions","organizations_url":"https://api.github.com/users/spicyj/orgs","repos_url":"https://api.github.com/users/spicyj/repos","events_url":"https://api.github.com/users/spicyj/events{/privacy}","received_events_url":"https://api.github.com/users/spicyj/received_events","type":"User","site_admin":false},"assignees":[{"login":"spicyj","id":6820,"avatar_url":"https://avatars.githubusercontent.com/u/6820?v=3","gravatar_id":"","url":"https://api.github.com/users/spicyj","html_url":"https://github.com/spicyj","followers_url":"https://api.github.com/users/spicyj/followers","following_url":"https://api.github.com/users/spicyj/following{/other_user}","gists_url":"https://api.github.com/users/spicyj/gists{/gist_id}","starred_url":"https://api.github.com/users/spicyj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/spicyj/subscriptions","organizations_url":"https://api.github.com/users/spicyj/orgs","repos_url":"https://api.github.com/users/spicyj/repos","events_url":"https://api.github.com/users/spicyj/events{/privacy}","received_events_url":"https://api.github.com/users/spicyj/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/facebook/react/milestones/25","html_url":"https://github.com/facebook/react/milestones/15-next","labels_url":"https://api.github.com/repos/facebook/react/milestones/25/labels","id":1691310,"number":25,"title":"15-next","description":"We'll use this milestone to collect all PRs that will be shipped in a version of React v15. As they are cherry-picked to the branch, we will determine what version the next release is (minor or patch) based on the changes.\r\n\r\nWe will create a new milestone and move PRs to that milestone as they are cherry-picked.","creator":{"login":"zpao","id":8445,"avatar_url":"https://avatars.githubusercontent.com/u/8445?v=3","gravatar_id":"","url":"https://api.github.com/users/zpao","html_url":"https://github.com/zpao","followers_url":"https://api.github.com/users/zpao/followers","following_url":"https://api.github.com/users/zpao/following{/other_user}","gists_url":"https://api.github.com/users/zpao/gists{/gist_id}","starred_url":"https://api.github.com/users/zpao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zpao/subscriptions","organizations_url":"https://api.github.com/users/zpao/orgs","repos_url":"https://api.github.com/users/zpao/repos","events_url":"https://api.github.com/users/zpao/events{/privacy}","received_events_url":"https://api.github.com/users/zpao/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":16,"state":"open","created_at":"2016-04-08T00:06:43Z","updated_at":"2016-08-12T17:34:46Z","due_on":null,"closed_at":null},"comments":4,"created_at":"2016-08-12T16:06:44Z","updated_at":"2016-08-12T17:34:46Z","closed_at":"2016-08-12T17:34:46Z","pull_request":{"url":"https://api.github.com/repos/facebook/react/pulls/7483","html_url":"https://github.com/facebook/react/pull/7483","diff_url":"https://github.com/facebook/react/pull/7483.diff","patch_url":"https://github.com/facebook/react/pull/7483.patch"},"body":"This consistently improves DEV performance in Chrome.\r\n\r\nBefore this change:\r\n\r\n```\r\ncreate 10k rows: 7861\r\nupdate 1k rows: 1405\r\nupdate 1k rows: 1337\r\nupdate 1k rows: 1373\r\nupdate 1k rows: 1340\r\nupdate 1k rows: 1381\r\nclear 10k rows: 1603\r\n\r\ncreate 10k rows: 7799\r\nupdate 1k rows: 1391\r\nupdate 1k rows: 1339\r\nupdate 1k rows: 1324\r\nupdate 1k rows: 1338\r\nclear 10k rows: 1567\r\n```\r\n\r\nAfter this change:\r\n\r\n```\r\ncreate 10k rows: 6460\r\nupdate 1k rows: 1312\r\nupdate 1k rows: 1237\r\nupdate 1k rows: 1231\r\nupdate 1k rows: 1263\r\nupdate 1k rows: 1248\r\nclear 10k rows: 1083\r\n\r\ncreate 10k rows: 6326\r\nupdate 1k rows: 1298\r\nupdate 1k rows: 1233\r\nupdate 1k rows: 1245\r\nupdate 1k rows: 536\r\nupdate 1k rows: 1058\r\nupdate 1k rows: 1299\r\nclear 10k rows: 1104\r\n```\r\n\r\nThis only seems to help DEV in Chrome. I did not observe any significant difference in PROD in Chrome, or in either build in Firefox or Safari.\r\n\r\nNormally it would be too much dogscience but I feel the wins for Chrome DEV (most common use case) are significant, they are consistently reproducible, and it kinda makes sense to use numbers anyway."},"comment":{"url":"https://api.github.com/repos/facebook/react/issues/comments/239510287","html_url":"https://github.com/facebook/react/pull/7483#issuecomment-239510287","issue_url":"https://api.github.com/repos/facebook/react/issues/7483","id":239510287,"user":{"login":"gaearon","id":810438,"avatar_url":"https://avatars.githubusercontent.com/u/810438?v=3","gravatar_id":"","url":"https://api.github.com/users/gaearon","html_url":"https://github.com/gaearon","followers_url":"https://api.github.com/users/gaearon/followers","following_url":"https://api.github.com/users/gaearon/following{/other_user}","gists_url":"https://api.github.com/users/gaearon/gists{/gist_id}","starred_url":"https://api.github.com/users/gaearon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gaearon/subscriptions","organizations_url":"https://api.github.com/users/gaearon/orgs","repos_url":"https://api.github.com/users/gaearon/repos","events_url":"https://api.github.com/users/gaearon/events{/privacy}","received_events_url":"https://api.github.com/users/gaearon/received_events","type":"User","site_admin":false},"created_at":"2016-08-12T17:34:41Z","updated_at":"2016-08-12T17:34:41Z","body":">Kinda weird. Is Uglifyjs used for building or some another tool?\r\n\r\nYes, I uglified during the tests.\r\n\r\n>@gaearon Do you think it really makes sense? Actually, folks always use prod version in the wild.\r\n\r\nAs I said earlier this doesn’t have any downsides in production so I’m not sure what you are worried about.\r\n\r\nI’m saying it “makes sense” because both these fields are numbers anyway so `0` makes more sense than `null` for resetting them. It’s nice that fixing this also improves perf in DEV mode in Chrome."}}
{"actor":{"display_login":"gaearon"}}