Pobieranie pliku - obliczanie prędkości

0

Witam ma ktoś pomysł na wzór obliczający prędkość pobierania pliku. Dane, które mam co około 1/100 sekundy to ile bajtów zostało pobrane i ile zajmuje plik.

1

oblicz średnią z kilku ostatnich sekund... (ściągnięte dane/czas)

1

Podstawy matematyki się kłaniają, mnożysz przez 100 i masz prędkość w bajtach na sekundę. Przewidywany czas pobrania - rozmiar dzielisz przez prędkość.

0

Według obliczeń, średni czas wykonywania funkcji to ~0.09 sekundy. Więc dałem żeby wynik mnożył razy 10 i wynik daje prawidłowy (w przypadku mojego neta ~1250 kb/s).

Tutaj kod jak by ktoś potrzebował :

qint64 predkosc = ((bytesRead - fileSpeed) * 10) / 1024;           // zamiana od razu na kb/s
fileSpeed = bytesRead;

Ps. Dodaje też wersję z liczeniem czasu wykonywania funkcji :P (błędy pomiarowe od 1/1000 do 9/1000 milisekundy)

// typy zmiennych
// qint64 bytesRead;
// qint64 fileSpeed;
// QTime t;

qint64 predkosc = ((bytesRead - fileSpeed) * (t.elapsed() / 10)) / 1024;
t.start();
fileSpeed = bytesRead;

1 użytkowników online, w tym zalogowanych: 0, gości: 1