{"action":"created","issue":{"url":"https://api.github.com/repos/brianmhunt/knockout-fast-foreach/issues/35","labels_url":"https://api.github.com/repos/brianmhunt/knockout-fast-foreach/issues/35/labels{/name}","comments_url":"https://api.github.com/repos/brianmhunt/knockout-fast-foreach/issues/35/comments","events_url":"https://api.github.com/repos/brianmhunt/knockout-fast-foreach/issues/35/events","html_url":"https://github.com/brianmhunt/knockout-fast-foreach/issues/35","id":121704319,"number":35,"title":"Asynchronous, but still janking on large (>2k) lists","user":{"login":"krnlde","id":1087002,"avatar_url":"https://avatars.githubusercontent.com/u/1087002?v=3","gravatar_id":"","url":"https://api.github.com/users/krnlde","html_url":"https://github.com/krnlde","followers_url":"https://api.github.com/users/krnlde/followers","following_url":"https://api.github.com/users/krnlde/following{/other_user}","gists_url":"https://api.github.com/users/krnlde/gists{/gist_id}","starred_url":"https://api.github.com/users/krnlde/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/krnlde/subscriptions","organizations_url":"https://api.github.com/users/krnlde/orgs","repos_url":"https://api.github.com/users/krnlde/repos","events_url":"https://api.github.com/users/krnlde/events{/privacy}","received_events_url":"https://api.github.com/users/krnlde/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":17,"created_at":"2015-12-11T13:02:47Z","updated_at":"2015-12-11T15:43:36Z","closed_at":null,"body":"As mentioned here knockout/knockout/issues/1954 your fastForEach implementation has recognizable improvements over the original ko-foreach. But still I experience big janks of 1-2 sec when iterating over a list with 5k entries.\r\n\r\nMind the chrome timeline capture here:\r\n![image](https://cloud.githubusercontent.com/assets/1087002/11744317/94cde36e-a00f-11e5-888f-0344acb2c705.png)\r\n\r\nThe biggest part of the 2876ms frame is the purple \"recalculating style\". I didn't get into the \"animation frame fired\" JS part too deep, but it feels like it is not janking.\r\n"},"comment":{"url":"https://api.github.com/repos/brianmhunt/knockout-fast-foreach/issues/comments/163967781","html_url":"https://github.com/brianmhunt/knockout-fast-foreach/issues/35#issuecomment-163967781","issue_url":"https://api.github.com/repos/brianmhunt/knockout-fast-foreach/issues/35","id":163967781,"user":{"login":"cervengoc","id":6099330,"avatar_url":"https://avatars.githubusercontent.com/u/6099330?v=3","gravatar_id":"","url":"https://api.github.com/users/cervengoc","html_url":"https://github.com/cervengoc","followers_url":"https://api.github.com/users/cervengoc/followers","following_url":"https://api.github.com/users/cervengoc/following{/other_user}","gists_url":"https://api.github.com/users/cervengoc/gists{/gist_id}","starred_url":"https://api.github.com/users/cervengoc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cervengoc/subscriptions","organizations_url":"https://api.github.com/users/cervengoc/orgs","repos_url":"https://api.github.com/users/cervengoc/repos","events_url":"https://api.github.com/users/cervengoc/events{/privacy}","received_events_url":"https://api.github.com/users/cervengoc/received_events","type":"User","site_admin":false},"created_at":"2015-12-11T15:43:36Z","updated_at":"2015-12-11T15:43:36Z","body":"Okay, but with the batch insertion the inserted node is actually a documentFragment with several hundreds of list items. It's possible that I don't see something trivial though, but it seems not trivial for me to implement it.\r\n\r\nIf we didn't have the documentFragment utilization it would be more simple, but that optimization is key in much more often scenarios IMHO."}}