Opened 14 years ago

Closed 12 years ago

Last modified 12 years ago

#529 closed Enhancement (fixed)

Time remaining for downloads is unreliable

Reported by: markrian Owned by: charles
Priority: Low Milestone: 1.73
Component: libtransmission Version: 0.95
Severity: Minor Keywords:
Cc:

Description

It seems that transmission calculates the time remaining to download a file by simply dividing the amount of data left by the current download speed. Obviously, speeds vary over the course of a download, and so then does the estimated time remaining. This can vary by quite a lot, making the estimation unreliable. It would make sense to uses some sort of smoothing, or a rolling average to give a better estimate.

KTorrent offers various methods for calculating time remaining estimates, however, their 'KTorrent' method is a combination of various methods that was found to be the most accurate in their testing. I've found it to be surprisingly accurate and reliable.

Perhaps their method could be brought to Transmission without too much trouble?

Attachments (3)

eta.diff (4.6 KB) - added by MSN_Exploder 13 years ago.
eta2.diff (5.6 KB) - added by MSN_Exploder 13 years ago.
eta_tr.patch (9.8 KB) - added by fulgas 13 years ago.

Download all attachments as: .zip

Change History (22)

comment:1 Changed 14 years ago by livings124

  • Priority changed from Normal to Low
  • Severity changed from Normal to Minor

comment:2 Changed 14 years ago by charles

comment:3 Changed 14 years ago by charles

  • Component changed from Transmission to libtransmission
  • Owner set to charles

Changed 13 years ago by MSN_Exploder

comment:4 Changed 13 years ago by MSN_Exploder

Hi, i wrote a small patch for using the KTorrent style ETA in Transmission.

HtH

MSN_Exploder

comment:5 Changed 13 years ago by charles

  • Milestone changed from None Set to 1.40

comment:6 Changed 13 years ago by charles

  • Status changed from new to assigned

comment:7 Changed 13 years ago by charles

MSN_Exploder: it looks like that patch uses static variables for the samples... wouldn't that mean that different torrents would get each others' samples mixed in with their own?

comment:8 Changed 13 years ago by MSN_Exploder

Sorry for my late reply, kinda busy right now.

i think adding all samples into the torrent struct should help. But i'm really not into the whole C Coding... Maybe you can point me into the right direction.

comment:9 Changed 13 years ago by MSN_Exploder

I revised the patch, removed all wrong statics... It should work correctly now.

(had to add a tiny ugly "hack", maybe you know a better solution)

Changed 13 years ago by MSN_Exploder

comment:10 Changed 13 years ago by fulgas

Hi, i'm sorry if i'm stepping into someone shoes but i did a almost equal eta to KT as a exercise. It took a couple of hours. I tried to follow tr code guidelines.

regards,

Nelson Silva

Changed 13 years ago by fulgas

comment:11 Changed 13 years ago by charles

  • Milestone changed from 1.40 to Sometime

comment:12 Changed 13 years ago by charles

  • Keywords patch-needed added

comment:13 Changed 12 years ago by geertjan

Why is this marked as "patch needed"? There seem to be two patches available here.

Just asking, because I love Transmission but the ETA is currently quite useless, jumping from very high to very low all the time.

comment:14 Changed 12 years ago by charles

There seem to be two patches available here.

Have you tried them? Give them a spin and tell me you think they're ready to go in.

comment:15 Changed 12 years ago by charles

  • Milestone changed from Sometime to 1.73
  • Resolution set to fixed
  • Status changed from assigned to closed

I used a simplified version of Pan's code. It was easy to drop in, seems to work reasonably well, and was implemented in 5 lines instead of 300.

Added in trunk in r8770 for 1.73.

comment:16 Changed 12 years ago by charles

oops, make that r8771 :)

comment:17 Changed 12 years ago by geertjan

Charles, just wanted to say thanks. I was actually planning to try the posted patches today, I didn't want to be one of those people who just ask things from open source developers without contributing anything. But I'll just look forward to version 1.73 now :)

comment:18 Changed 12 years ago by charles

  • Keywords backport-1.5x added; patch-needed removed

comment:19 Changed 12 years ago by charles

  • Keywords backport-1.5x removed
Note: See TracTickets for help on using tickets.