? Ofta användarna åtkomst till data från källor som erbjuder kontinuerliga flöden av information , till exempel strömmande media eller input som sker över tiden , till exempel från ett tangentbord . I dessa fall kan en buffrad ström av information om datorn för att hantera denna information smidigt för användaren . Storleken på bufferten dikterar hur smidigt flöde av information är för användaren . En större buffert gör det möjligt för tillfällig lagring av mer inkommande data , på bekostnad av att använda mer minne. Standard Input och Output
Ofta sker in-och utdata i ett program med en enda åtgärd . En användare skriver in , kanske text eller genom en serie val i ett grafiskt användargränssnitt , och programmet lagrar denna ingång i en variabel eller referens . Operativsystemet hanterar input och verksamhet ingång , vilket innebär att data kan hämtas från ett nätverk källa eller hårddisken . Dessa önskemål tar tid att utföra , bromsa ett programs exekveringstid .
Buffrade strömmar
Buffrade strömmar mildra problemen med I /O- användning genom att skapa ett utrymme i programmets minne för att lagra delar av uppgiften för användningen . Bufferten kommer att innehålla en del av uppgifterna , som läser programmet omedelbart från minnet. När bufferten töms , eller när ett annat visst villkor inte uppfylls , till exempel bufferten når ett halvtomt status , kommer programmet att sedan samtalet till systemet för att ladda fler data till bufferten . Detta begränsar systemet anropar nödvändigt att behandla uppgifter , eventuellt fortkörning utförande .
Buffrad Stream Storlekar
Storleken på bufferten beror på användarens behov och bestämmer hur mycket data bufferten kan lagra. Detta innebär att bufferten kan ha mycket data redo för programmet att läsa, eller det kan ha en liten plats som kräver fler systemanrop . Typiskt , buffrade objekt i objektorienterade programspråk komma med en standardstorlek . Olika tillämpningsbehov kan kräva Buffertstorlek modifiering . En strömmande ljud ansökan kan behöva mer buffrat utrymme än en ansökan som rör tangentbordet , till exempel .
Buffer storlek och prestanda
Storleken på bufferten direkt relaterar till hur många systemanrop ett program kan behöva göra under exekvering . Om ett program läser data innan behandlingen , tenderar förhållandet mellan storleken på bufferten och tidseffektivitet till platån . Men program som strömma uppgifter tenderar att få en betydande fördel av ökad buffert storlek . Dessa program bearbetar ständigt data från bufferten , vilket innebär att en större buffert kan minska systemanrop krävs .