Orjanp Skrevet 21. november 2006 Skrevet 21. november 2006 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...
zeitgeist Skrevet 21. november 2006 Skrevet 21. november 2006 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.
Orjanp Skrevet 21. november 2006 Forfatter Skrevet 21. november 2006 Ø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...
zeitgeist Skrevet 22. november 2006 Skrevet 22. november 2006 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.
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå