dvc push -q is not completely quiet, shows file transfer tqdm progress bars

Created on 12 Feb 2020  路  9Comments  路  Source: iterative/dvc

Hey guys, love what you've done with DVC.

Had a quick bug that's causing me a little issue. When I use 'dvc push -q' I'm still seeing tqdm progress bars. Wouldn't be a huge issue, but I'm probably pushing 100K 250kb files. This is a local remote, so the transfer speeds are quick. I know in some of my other scripts where I use tqdm, if the iteration time is very small, the tqdm overhead of writing to std::out actually starts to contribute to performance.

dvc version: 0.83.0
os: Windows 10

image

bug p2-medium refactoring research ui

All 9 comments

@casperdcl could you take a look please?

@WillNichols726

I know in some of my other scripts where I use tqdm, if the iteration time is very small, the tqdm overhead of writing to std::out actually starts to contribute to performance

That should really not be the case as tqdm is designed to be negligible overhead in all cases - could you elaborate a bit more? I know this isn't actually the issue here, though.

In terms of this issue, the progress output should be suppressed completely by -q. Will take a look & fix soon.

@casperdcl - Appreciate everything you've done with tqdm! Recently, I had something that was running at 200 iterations a second, when I set mininterval to 1 sec, jumped up to 300 iterations a sec. Didn't spend a lot of time determining root cause for the speedup, it could've been caching behavior or something else. I've also seen some minor speedups on other rapidly-iterating scripts when increasing mininterval. Not a huge issue. I'm typically running in Powershell or cmd on Windows 10.

Hmm interesting as the default mininterval=0.1 should be fine on most consoles.

No real measurable difference for me (it/s)... Note that it's under 200it/s because sleep isn't accurate.

$ python -c 'from time import sleep; from tqdm import trange
[sleep(1/200) for _ in trange(100)]'
100%|鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻堚枅| 100/100 [00:00<00:00, 192.77it/s]
$ python -c 'from time import sleep; from tqdm import trange
[sleep(1/200) for _ in trange(100, mininterval=1)]'
100%|鈻堚枅鈻堚枅鈻堚枅鈻堚枅鈻坾 100/100 [00:00<00:00, 192.62it/s]

ah also (back to this issue) --quiet is actually currently ignored (i.e. not implemented) by push

nvm looks like this is a bug

@WillNichols726 0.85.0 is out with this fix, could you please give it a try and let us know if it fixed it for you? :slightly_smiling_face:

@WillNichols726 Btw, I suppose you were using -q because pbars were jumping around and being annoying? :slightly_smiling_face: If so, just wanted to let you know that we are working on a fix, so stay tuned for that too :slightly_smiling_face:

@efiop - Yeah, was using -q to try and suppress the progress bars that were jumping around.

Was this page helpful?
0 / 5 - 0 ratings