Version: v0.8.3 (using KDE 3.3.90 (alpha1, CVS >= 20041206), compiled sources) Compiler: gcc version 3.4.3 OS: Linux (i686) release 2.6.10-ac4 Suppose that you're downloading 2 big files: File A 100MB File B 200MB and you have a max total speed of 100Kb/s Downloads share the total speed so they get 50kb/s each. Now the estimated time for File A is 100000/50 = 2000 seconds and the estimated time of File B is 200000/50 = 4000 seconds Thus, kget will display 4000 seconds as the remaining time. But the total time is about 3000 seconds because when file A finishes, file B will get all the bandwidth. So a better algorithm would be: ETA = (total size) / (total bandwidth) Total size is computed by adding all sizes and total bandwith is computed by adding the current downloading rate for each one. You can extend this even more and produce an algorithm that not only displays the total ETA correctly, but also the ETA for each entry but this is a bit more complex. If you're interested I can implement such an algorithm.
I doubt someone would protest a clean patch.
I'm very agree with this formule: ETA = (total size) / (total bandwidth) It will show a better ETA. The example of the files A and B of v13@priest.com is very good to understand the situation. I feel exactly the same when see the ETA when downloading various files. The actual ETA is far of the real ETA.
I just finished a library that tries to make better time estimations. It is not public yeat but you can get it from http://www.it.teithe.gr/~v13/libestimator-1.0.0.tar.gz It is GPLed (but I'm considering changing that to LGPL) My page does not contain it yet but I'll make it public soon. You may consider using it to do the time estimations. Since this is the very first release feel free to ask for any code or documentation additions.