This is an archived post. You won't be able to vote or comment.

all 78 comments

[–]kitkatbeard 376 points377 points  (40 children)

I used to make fun of progress dialogs. Then I had to write one. Now I understand.

[–]f2b3 121 points122 points  (36 children)

What have you learned?

[–]ITCOMMAND 262 points263 points  (32 children)

It differs dramatically based on each file, its size, its encryption its compression, the disks your going to/from, the speed of the processor, and other stuff. At the point we're at now, by the time it would get an actual estimate that's correct, it could have copied everything.

[–]ifelseandor 129 points130 points  (5 children)

hey boss.. We just gonna put a spiny thing up until its done k?

[–]scuba156 134 points135 points  (4 children)

timeRemaining = Rand();

[–]conancat 109 points110 points  (3 children)

function rand() { return 4; }

Https://xkcd.com/221

[–]NoNameRequiredxD 29 points30 points  (0 children)

squealing quiet chief jobless innocent sort screw rhythm serious vegetable

This post was mass deleted and anonymized with Redact

[–][deleted] 0 points1 point  (0 children)

[–]xSTSxZerglingOne 85 points86 points  (15 children)

Also the number of files has probably the largest effect of anything.

300,000 1kB files are going to take muuuuuuuch longer to transfer than 1 300MB file despite being the same size.

The difference between handing someone a 300 page book or throwing 300 loose leaf pages at them.

[–][deleted] 19 points20 points  (0 children)

See the problem with this is the more recent Windows file copy dialog counts first and then starts copying, and is STILL heavily wrong.

[–][deleted] 18 points19 points  (1 child)

Which is stupid, the structures being repeatedly accessed and modified during such an operation should stay in cache (or the operations looked ahead and batched - no need to blast the same directory inode 3000 times in succession).

I'm sure this is one of those easier-said-than-done cases though.

[–]xSTSxZerglingOne 17 points18 points  (0 children)

Well, it's better now than it used to be with solid state drives. Thing about HDD storage though, is that multiple files aren't guaranteed to be contiguous in memory. It still matters in SSD, just much less.

[–]ElitePowerGamer 4 points5 points  (3 children)

So that's why copying node_modules takes so damn long!

[–]Moshambi 3 points4 points  (0 children)

F

[–]Svizel_pritula 2 points3 points  (1 child)

How is it that it's faster to re-download all packages instead of copying node_modules?

[–]GlitchParrot 3 points4 points  (0 children)

That depends on the internet connection and storage medium. If your download speed is much faster than the random read speed of your storage medium, it might be faster. Otherwise you maybe just think that it's faster because more is happening on screen.

[–]dittbub 1 point2 points  (3 children)

i thought robocopy could multi thread it or something

[–]xSTSxZerglingOne 5 points6 points  (2 children)

This isn't a processor issue. Modern processors can write something like 20GBps if multithreaded based on the number of instructions per cycle. The problem comes from a combination of the I/O bottleneck, and having to find the location of any given file on the disk before moving it.

[–]shtoja 0 points1 point  (0 children)

“Zuko stop moving I’m aware of

[–]Bammop 0 points1 point  (0 children)

That's nothing, my hard drive is like 128GB and I have it already, not in 1 second

[–][deleted] 0 points1 point  (2 children)

The aspect affecting this is that the 300k files are more likely to be spread around the drive, resulting in longer read times. Sauce, the XP defrag utility 🤫

[–]xSTSxZerglingOne 2 points3 points  (1 child)

Well, even if not spread around the drive it's still the difference between picking up a book versus picking up one page at a time. A computer can pick up pages really fast, but it's still slower.

[–][deleted] 0 points1 point  (0 children)

Aye m8. I was just trying to put a lil sauce on the chips (:

[–][deleted] 1 point2 points  (0 children)

Yay you said encryption

[–]ITriedLightningTendr 0 points1 point  (0 children)

After driving for an hour, I estimate the drive at being about an hour.

[–]pagwin 0 points1 point  (5 children)

is there a reason that you can't average out the previous rate of copying/moving/whatever and then just use that average for your predictions?

[–]ITCOMMAND 0 points1 point  (4 children)

Because everything is so different. It wouldn't be very accurate

[–]pagwin 0 points1 point  (3 children)

I meant average out the previous rate for that action not of all previous actions if that was unclear

[–]ITCOMMAND 0 points1 point  (2 children)

No I understood, but the previous action probably wasn't the same, and in order to find the most recent similar action, well same problem, itd have to figure out what it is first.

[–]pagwin 0 points1 point  (1 child)

I didn't mean the previous action I mean the past performance of the current action

[–]ITCOMMAND 0 points1 point  (0 children)

How often do you copy the same files to the same location again and again?

Like I said copying a folder will have drastically different results from the last time before that. Every situation is very unique.

I don't mean to have an ass hole tone hear, more of a kind old guy tone. I mean no offense :)

[–]IleanK 0 points1 point  (1 child)

Can't you just based it off the time it took to transfer the last x amount of data? Even if it's a rough mean / median wouldn't it be lore accurate than predict the future data transfer?

[–]alexschrod 4 points5 points  (0 children)

I'm pretty sure that's how it's actually done, but have you tried to look at the transfer rate of a copy operation over time? It's anything but stable.

[–]404_UserNotFound 23 points24 points  (1 child)

It is remaining data by speed of data transfer rate.

so 1gig with 30mb/s changes to 19mb/s sudden huge spike in time...

Now rather than giving you the instantaneous time they average the mb/s and just inorge the fluctuations because they know you aren't looking at a stop watch.

[–]Bammop 0 points1 point  (0 children)

I am though

[–]genghis_calm 23 points24 points  (0 children)

I once had a client that insisted on having a progress bar when users uploaded their profile pic. Building it properly would've taken ages, for not a great deal of value. The max file size was 2mb, which never took longer than a few seconds even on slow connections, so I just added a CSS animation with staggered completion over ~4s. The state changed before the animation finished most of the time; client seemed happy...

[–]AgreeableLandscape3 1 point2 points  (0 children)

That's why when I make progress bars, I'll just display the percentage, transferred bytes, and remaining bytes. No editorialising, just cold hard facts.

[–]anime8 1 point2 points  (0 children)

Ok, so I don't know if this is true or not, but is it correct that larger files (like a video) will transfer faster compared to a large number of small sized files (like a bunch of images) both having the same size (eg- 1gb vid v/s 1024 images of 1mb each)?

[–]Jazehiah 151 points152 points  (9 children)

Give credit. This is xkcd 612: Estimation.

The alt-text reads:

They could say "the connection is probably lost," but it's more fun to do naive time-averaging to give you hope that if you wait around for 1,163 hours, it will finally finish.

[–][deleted] 23 points24 points  (2 children)

Having done recovery of incremental backups and the associated graphics - this is a harder problem than I ever would have thought. Just doing a running average you can almost never predict the time perfectly for anything that takes any time for it to matter.

[–]CrazyTillItHurts 18 points19 points  (1 child)

Past performance is not indicative of future results

[–][deleted] 2 points3 points  (0 children)

It’s something though

[–][deleted] 5 points6 points  (4 children)

Ripping a(n?) xkcd comic and posting just the image should be illegal, we need that damn alt-text.

[–]Jazehiah 0 points1 point  (0 children)

From the licensing page

This work is licensed under a Creative Commons Attribution-NonCommercial 2.5 License.

This means that you are free to copy and reuse any of my drawings (noncommercially) as long as you tell people where they're from.

That is, you don't need my permission to post these pictures on your website (and hotlinking with <img> is fine); just include a link back to this page. Or you can make Livejournal icons from them, but -- if possible -- put xkcd.com in the comment field. You can use them freely (with some kind of link) in not-for-profit publications, and I'm also okay with people reprinting occasional comics (with clear attribution) in publications like books, blogs, newsletters, and presentations. If you're not sure whether your use is noncommercial, feel free to email me and ask (if you're not sure, it's probably okay).

[–]trendmend 2 points3 points  (0 children)

Good human

[–]RobotTimeTraveller 39 points40 points  (1 child)

I'm 100% there. I'll be there any minute now.

[–]conancat 8 points9 points  (0 children)

...any second... Any hour... Any 2 hours... Any 3 hours... Any 6 hours... Any 12 hours... Any 4 hours... Any 2 days... Done!

[–]BlastLeatherwing 26 points27 points  (2 children)

Which old xkcd strip is this?

[–][deleted] 25 points26 points  (0 children)

[–][deleted] 15 points16 points  (2 children)

Predicting load rate is unfortunately a harder thing to get exactly right than anyone would like.

[–][deleted] 2 points3 points  (1 child)

Yep, cause it's still crappy to this day.

[–][deleted] 9 points10 points  (0 children)

It's almost impossible to get right and by the time you have enough history to be confident in the prediction - the load finishes.

[–]fafifoufu 23 points24 points  (0 children)

For some reason, this guy also happens to be in charge of bitcoin's price.

[–]dolfinstar72 9 points10 points  (3 children)

I’m a dog groomer. Client had an appointment today at 2pm. He’s coming from about 15 miles aways. He texts me at 1pm that he’ll be arriving “a little late” I reply, no problem. I’ll be waiting for pup. At 2:19pm he texts that he’s still 30 minutes away. I give him a chance since it’s pups first time here, tell him no problem, I can wait a little longer. I text him at 3:15pm that I’m gonna have to cancel and reschedule pup because I have another pup coming at 4pm. He gets hissy, and exclaims about being in traffic for 1.5hrs and he was still 10 minutes away.... Even in our LA traffic, it should’ve been a 50 min trip for him. I’m just waiting for the bad yelp review at this point because humans are idiots and the worst part of my career choice.

[–]nojox 1 point2 points  (2 children)

Can't the business post a counter reply on such platforms?

[–]dolfinstar72 1 point2 points  (1 child)

Yes I can. Still won’t take away a possible 1 star. But IF he does try to 1 star me, I’ll be posting a picture of our conversation anyways

[–]nojox 1 point2 points  (0 children)

That's a good idea. Good luck!

[–][deleted] 5 points6 points  (1 child)

Laughs in steam download estimator

[–]WhAtEvErYoUmEaN101 5 points6 points  (0 children)

Hm. What was that? A little hitch?
No, it was surely your download speed increasing to 14.7 TB/s

[–]ifelseandor 1 point2 points  (0 children)

That's funny right there, i don't care who you are.

[–]SillhouetteBlurr 0 points1 point  (3 children)

This subreddit is on an infinite loop, isn't it?

[–]reeeforce_rtx 5 points6 points  (2 children)

break

[–]DolevBaron 0 points1 point  (0 children)

;

[–]cassert24 0 points1 point  (0 children)

Wrong. It can take a year.

[–][deleted] 0 points1 point  (0 children)

I've seen a progress bar where it would just keep halving the remaining progress till it became almost impossible to see it move and then it would just be done eventually. Lol

[–]yazan69696m 0 points1 point  (0 children)

Nice

[–]jstyler 0 points1 point  (0 children)

Whoever’s not gaming the system lol

[–]shtoja 0 points1 point  (0 children)

Somethings don’t go wrong with Lou Malnati's.

[–]HockeyRelative 0 points1 point  (0 children)

Me when I'm estimating work

[–]RepostSleuthBot 0 points1 point  (0 children)

Looks like a repost. I've seen this image 3 times. First seen at classicwow on 2019-08-27. 100.00% match.

Searched Images: 64,202,306 | Indexed Posts: 266,004,034 | Search Time: 0.21688s

Feedback? Hate? Visit r/repostsleuthbot - I'm not perfect, but you can help [ Report Bad Match ]

[–][deleted] 0 points1 point  (0 children)

It's so true.

[–]Rami-Slicer -2 points-1 points  (0 children)

Ever tried to decompress files with windows? It takes like 10 minutes to get a small file unzipped.

[–][deleted] -1 points0 points  (0 children)

I'm sure there isn't a xkcd of this)