Gå til innhold

Anbefalte innlegg

Skrevet

Tenkte jeg skulle forsøke å begrense hastigheten på overføringen av en fil som sendes mellom en klient og en server. Har forsøkt å legge inn et time.wait(x) kall i løkken som sender filen. Det fungerer til en viss grad. Problemet er bare det at kallet på time.wait() virker temmelig dyrt. Derfor har jeg kun klart å få en hastighet på omkring 8% - 9% og lavere når jeg benytter time.wait(). Ingenting mellom dette og full hastighet.

Vurderer også å bruke en løkke som teller, men det er vel til en viss grad cpu intensivt.

 

Noen som har noen ideer om hvordan begrensing av båndbredde enkelt kan implementeres i et program?

 

Ørjan...

Videoannonse
Annonse
Skrevet
Tenkte jeg skulle forsøke å begrense hastigheten på overføringen av en fil som sendes mellom en klient og en server. Har forsøkt å legge inn et time.wait(x) kall i løkken som sender filen. Det fungerer til en viss grad. Problemet er bare det at kallet på time.wait() virker temmelig dyrt. Derfor har jeg kun klart å få en hastighet på omkring 8% - 9% og lavere når jeg benytter time.wait(). Ingenting mellom dette og full hastighet.

Vurderer også å bruke en løkke som teller, men det er vel til en viss grad cpu intensivt.

 

Noen som har noen ideer om hvordan begrensing av båndbredde enkelt kan implementeres i et program?

 

Ørjan...

7329968[/snapback]

 

Du mener time sleep() ?

 

Tror jeg ville ha gått for den. Den bruker ikke noe cpu, så det må være noe annet- Tror jeg ville ha laget en hjelpefunksjon som regnet x.yz sekunder slik at du kunne finstille det.

Skrevet

Ønsket egentlig å bruke time.sleep(Var den jeg mente ja). Problemet er bare at når sleep tiden er under 0.001 sekund, går ikke hastigheten opp lengere. Hastigheten jeg maks oppnår er like over 64 KB/s. Så jeg mistenker at kallet til time.sleep() tar såpass mye tid at det begrenser hastigheten i seg selv.

 

Alternativet er forsåvidt å dele fila opp i større pakker. Slik at antall kall på time.sleep reduseres.

 

Eller, som nok er en bedre løsning, kun kalle på time.sleep() etter et visst antall iterasjoner. Skal sjekke den ut.

 

:)

Ørjan...

Skrevet

Jeg tror kanskje at problemet er "time resolution", når du opererer med oppløsning på 0.001 sek spørs det om OS'et kan gi deg presisjon nok. Kanskje du kan sette pakke- eller "chunk"-størrelsen ift. båndbredde/tid. Det skulle ikke forundre meg om du finner biblioteker som kan hjelpe deg i Twisted rammverket.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...