{"action":"created","issue":{"url":"https://api.github.com/repos/PowerShell/PowerShell/issues/2138","repository_url":"https://api.github.com/repos/PowerShell/PowerShell","labels_url":"https://api.github.com/repos/PowerShell/PowerShell/issues/2138/labels{/name}","comments_url":"https://api.github.com/repos/PowerShell/PowerShell/issues/2138/comments","events_url":"https://api.github.com/repos/PowerShell/PowerShell/issues/2138/events","html_url":"https://github.com/PowerShell/PowerShell/issues/2138","id":174150720,"number":2138,"title":"Progress bar can significantly impact cmdlet performance","user":{"login":"SteveL-MSFT","id":11859881,"avatar_url":"https://avatars.githubusercontent.com/u/11859881?v=3","gravatar_id":"","url":"https://api.github.com/users/SteveL-MSFT","html_url":"https://github.com/SteveL-MSFT","followers_url":"https://api.github.com/users/SteveL-MSFT/followers","following_url":"https://api.github.com/users/SteveL-MSFT/following{/other_user}","gists_url":"https://api.github.com/users/SteveL-MSFT/gists{/gist_id}","starred_url":"https://api.github.com/users/SteveL-MSFT/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SteveL-MSFT/subscriptions","organizations_url":"https://api.github.com/users/SteveL-MSFT/orgs","repos_url":"https://api.github.com/users/SteveL-MSFT/repos","events_url":"https://api.github.com/users/SteveL-MSFT/events{/privacy}","received_events_url":"https://api.github.com/users/SteveL-MSFT/received_events","type":"User","site_admin":false},"labels":[{"id":401720606,"url":"https://api.github.com/repos/PowerShell/PowerShell/labels/Area-Cmdlets","name":"Area-Cmdlets","color":"5319e7","default":false},{"id":401720900,"url":"https://api.github.com/repos/PowerShell/PowerShell/labels/Area-Performance","name":"Area-Performance","color":"5319e7","default":false},{"id":311043048,"url":"https://api.github.com/repos/PowerShell/PowerShell/labels/Issue-Bug","name":"Issue-Bug","color":"fc2929","default":false},{"id":423534444,"url":"https://api.github.com/repos/PowerShell/PowerShell/labels/Resolution-Fixed","name":"Resolution-Fixed","color":"ffffff","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/PowerShell/PowerShell/milestones/16","html_url":"https://github.com/PowerShell/PowerShell/milestones/6.0.0","labels_url":"https://api.github.com/repos/PowerShell/PowerShell/milestones/16/labels","id":1922225,"number":16,"title":"6.0.0","description":"Issues needed for 6.0.0 production quality release","creator":{"login":"SandeepSutari","id":20233168,"avatar_url":"https://avatars.githubusercontent.com/u/20233168?v=3","gravatar_id":"","url":"https://api.github.com/users/SandeepSutari","html_url":"https://github.com/SandeepSutari","followers_url":"https://api.github.com/users/SandeepSutari/followers","following_url":"https://api.github.com/users/SandeepSutari/following{/other_user}","gists_url":"https://api.github.com/users/SandeepSutari/gists{/gist_id}","starred_url":"https://api.github.com/users/SandeepSutari/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/SandeepSutari/subscriptions","organizations_url":"https://api.github.com/users/SandeepSutari/orgs","repos_url":"https://api.github.com/users/SandeepSutari/repos","events_url":"https://api.github.com/users/SandeepSutari/events{/privacy}","received_events_url":"https://api.github.com/users/SandeepSutari/received_events","type":"User","site_admin":false},"open_issues":226,"closed_issues":33,"state":"open","created_at":"2016-08-03T22:20:16Z","updated_at":"2016-11-30T00:11:01Z","due_on":null,"closed_at":null},"comments":15,"created_at":"2016-08-30T23:32:16Z","updated_at":"2016-11-30T05:21:08Z","closed_at":null,"body":"Repro Steps :\n\nCompare perf of WebClient, BITS and Invoke-WebRequest:\n\n``` powershell\nMeasure-Command { $wc = New-Object System.Net.WebClient; $wc.DownloadFile(\"https://github.com/dotnet/corefx/archive/master.zip\", \"C:\\Users\\crispop\\Desktop\\master.zip\") }\n\n\nDays              : 0\nHours             : 0\nMinutes           : 0\nSeconds           : 3\nMilliseconds      : 992\nTicks             : 39928426\nTotalDays         : 4.62134560185185E-05\nTotalHours        : 0.00110912294444444\nTotalMinutes      : 0.0665473766666667\nTotalSeconds      : 3.9928426\nTotalMilliseconds : 3992.8426\nVs\n\nMeasure-Command { Invoke-WebRequest \"https://github.com/dotnet/corefx/archive/master.zip\" -OutFile \"C:\\Users\\crispop\\Desktop\\master.zip\" }\n\n\nDays              : 0\nHours             : 0\nMinutes           : 0\nSeconds           : 50\nMilliseconds      : 821\nTicks             : 508212825\nTotalDays         : 0.000588209288194444\nTotalHours        : 0.0141170229166667\nTotalMinutes      : 0.847021375\nTotalSeconds      : 50.8212825\nTotalMilliseconds : 50821.2825\n\nVs\n\nMeasure-Command { Start-BitsTransfer -Source \"https://github.com/dotnet/corefx/archive/master.zip\" -Destination \"C:\\Users\\crispop\\Desktop\\masterBits2.zip\" }\n\n\nDays              : 0\nHours             : 0\nMinutes           : 0\nSeconds           : 4\nMilliseconds      : 506\nTicks             : 45062594\nTotalDays         : 5.21557800925926E-05\nTotalHours        : 0.00125173872222222\nTotalMinutes      : 0.0751043233333333\nTotalSeconds      : 4.5062594\nTotalMilliseconds : 4506.2594\n```\n\nExpected: Transfer speeds don't differ too much (maybe Invoke-WebRequest should be a bit faster than BITS which performs the transfer in background.)\n\nActual: 10x slowdown for Invoke-WebRequest\n"},"comment":{"url":"https://api.github.com/repos/PowerShell/PowerShell/issues/comments/263785971","html_url":"https://github.com/PowerShell/PowerShell/issues/2138#issuecomment-263785971","issue_url":"https://api.github.com/repos/PowerShell/PowerShell/issues/2138","id":263785971,"user":{"login":"iSazonov","id":22290914,"avatar_url":"https://avatars.githubusercontent.com/u/22290914?v=3","gravatar_id":"","url":"https://api.github.com/users/iSazonov","html_url":"https://github.com/iSazonov","followers_url":"https://api.github.com/users/iSazonov/followers","following_url":"https://api.github.com/users/iSazonov/following{/other_user}","gists_url":"https://api.github.com/users/iSazonov/gists{/gist_id}","starred_url":"https://api.github.com/users/iSazonov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iSazonov/subscriptions","organizations_url":"https://api.github.com/users/iSazonov/orgs","repos_url":"https://api.github.com/users/iSazonov/repos","events_url":"https://api.github.com/users/iSazonov/events{/privacy}","received_events_url":"https://api.github.com/users/iSazonov/received_events","type":"User","site_admin":false},"created_at":"2016-11-30T05:21:08Z","updated_at":"2016-11-30T05:21:08Z","body":"@daxian-dbw\r\n Maybe:\r\n1.The timer set up a new  _progPaneUpdateFlag \r\n2. HandleIncomingProgressRecord  check ``_progPaneUpdateFlag then call _progPane.Show(_pendingProgress) and reset the _progPaneUpdateFlag`\r\n\r\nIt seems that we can simply control the time delta in  HandleIncomingProgressRecord  , but my earlier tests showed that is significantly slower.\r\n"}}
{"actor":{"display_login":"iSazonov"}}