{"action":"created","issue":{"url":"https://api.github.com/repos/tqdm/tqdm/issues/158","repository_url":"https://api.github.com/repos/tqdm/tqdm","labels_url":"https://api.github.com/repos/tqdm/tqdm/issues/158/labels{/name}","comments_url":"https://api.github.com/repos/tqdm/tqdm/issues/158/comments","events_url":"https://api.github.com/repos/tqdm/tqdm/issues/158/events","html_url":"https://github.com/tqdm/tqdm/pull/158","id":151237591,"number":158,"title":"Implementation of pessimistic progress rate","user":{"login":"lrq3000","id":1118942,"avatar_url":"https://avatars.githubusercontent.com/u/1118942?v=3","gravatar_id":"","url":"https://api.github.com/users/lrq3000","html_url":"https://github.com/lrq3000","followers_url":"https://api.github.com/users/lrq3000/followers","following_url":"https://api.github.com/users/lrq3000/following{/other_user}","gists_url":"https://api.github.com/users/lrq3000/gists{/gist_id}","starred_url":"https://api.github.com/users/lrq3000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrq3000/subscriptions","organizations_url":"https://api.github.com/users/lrq3000/orgs","repos_url":"https://api.github.com/users/lrq3000/repos","events_url":"https://api.github.com/users/lrq3000/events{/privacy}","received_events_url":"https://api.github.com/users/lrq3000/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2016-04-26T20:58:52Z","updated_at":"2016-05-30T10:21:04Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/tqdm/tqdm/pulls/158","html_url":"https://github.com/tqdm/tqdm/pull/158","diff_url":"https://github.com/tqdm/tqdm/pull/158.diff","patch_url":"https://github.com/tqdm/tqdm/pull/158.patch"},"body":"I implemented a pessimistic progress rate, as asked in #140.\r\n\r\nPerformance-wise, with default settings, this just adds an additional `if` statement since it's disabled. When enabled, it's just a few more calculations and one more variable to store the worst time.\r\n\r\nThis implementation shows an exponential trend for the rate and remaining time, but not for the progress bar itself. For a full implementation, we would need to artificially avoid refreshing the bar, and refresh it more and more often towards the end (maybe by tweaking `min_iters`?).\r\n\r\nTODO:\r\n- [ ] Tweak `min_iters`?\r\n- [ ] Add unit tests"},"comment":{"url":"https://api.github.com/repos/tqdm/tqdm/issues/comments/222461834","html_url":"https://github.com/tqdm/tqdm/pull/158#issuecomment-222461834","issue_url":"https://api.github.com/repos/tqdm/tqdm/issues/158","id":222461834,"user":{"login":"lrq3000","id":1118942,"avatar_url":"https://avatars.githubusercontent.com/u/1118942?v=3","gravatar_id":"","url":"https://api.github.com/users/lrq3000","html_url":"https://github.com/lrq3000","followers_url":"https://api.github.com/users/lrq3000/followers","following_url":"https://api.github.com/users/lrq3000/following{/other_user}","gists_url":"https://api.github.com/users/lrq3000/gists{/gist_id}","starred_url":"https://api.github.com/users/lrq3000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrq3000/subscriptions","organizations_url":"https://api.github.com/users/lrq3000/orgs","repos_url":"https://api.github.com/users/lrq3000/repos","events_url":"https://api.github.com/users/lrq3000/events{/privacy}","received_events_url":"https://api.github.com/users/lrq3000/received_events","type":"User","site_admin":false},"created_at":"2016-05-30T10:21:04Z","updated_at":"2016-05-30T10:21:04Z","body":"I figured I didn't really describe what this PR does. So what it does is simply to store the worst iteration time ever, and it then calculates a mixture between the worst iteration time and the average iteration time (smoothed or not) based on the current progress: if we are close to the start, we will tend more to the worst iteration time ; if we are closer to the end, we will tend more to the average iteration time.\r\n\r\nThus, this doesn't show a fake time but rather a pessimistic time, hence the name (ie, the worst case time instead of the average time)."}}
{"actor":{"display_login":"lrq3000"}}