? Ofte brukere tilgang til data fra kilder som tilbyr kontinuerlig flyt av informasjon , som for eksempel streaming media eller innspill som oppstår over tid , for eksempel fra et tastatur. I disse tilfellene kan en bufret strøm av informasjon på datamaskinen for å håndtere denne informasjonen jevnt for brukeren . Størrelsen på buffer dikterer hvor glatt flyten av informasjon er for brukeren . En større buffer vil tillate midlertidig lagring av flere innkommende data , på bekostning av å bruke mer minne . Standard inngang og utgang
Ofte oppstår inngang og utgang i et program i en enkelt handling . En bruker skriver inn input, kanskje tekstlig eller gjennom en rekke valg i et grafisk brukergrensesnitt , og programmet lagrer denne inngangen i en variabel eller referanse. Operativsystemet håndterer innspill og innspill operasjoner , noe som betyr at data kan hentes fra et nettverk kilde eller harddisken . Disse forespørslene ta tid å oppnå, bremse et program kjøres tid.
Bufret Streams
bufret bekker redusere problemene med I /O bruk ved å opprette en plass i programmets minne til å lagre delene av innsignalet for bruk. Bufferen vil inneholde en del av dataene , som leser programmet umiddelbart fra minnet. Når bufferen tømmes , eller når en annen spesifikk betingelse er oppfylt , slik som buffer nådde en halv tomme status , vil programmet så ringe til at systemet lastes mer data inn i bufferet . Dette begrenser systemet kaller nødvendig å behandle data, muligens påskynde gjennomføring .
Bufret Stream Størrelser
stor buffer er avhengig av brukerens behov og bestemmer hvordan mye data bufferen kan lagre. Dette betyr at bufferen kan ha mye med data for programmet å lese, eller det kan ha en liten plass som krever mer system samtaler. Vanligvis bufret objekter i objekt - orientert programmeringsspråk kommer med en standard størrelse. Ulike bruksbehov kan kalle for buffer størrelse modifisering. En streaming audio program trenger mer bufret plass enn en søknad håndtere tastatur inngang, for eksempel.
Buffer størrelse og ytelse
stor buffer direkte er relatert til hvor mange system kaller et program trenger å gjøre under utførelsen. Hvis et program leser data før behandling , tenderer forholdet mellom størrelsen av den buffer og den tid effektivitet til å flate ut. Men programmer som streame data har en tendens til å få en betydelig fordel av økt buffer størrelse. Disse programmene stadig behandle data fra bufferen , noe som betyr at en større buffer kan redusere system kaller nødvendig.