? Spesso, gli utenti accedono ai dati da fonti che offrono flussi continui di informazioni , come ad esempio lo streaming media o di input che si verifica nel corso del tempo , come ad esempio da una tastiera . In questi casi , un flusso di informazioni tamponata consente al computer di gestire queste informazioni senza problemi per l'utente . La dimensione del buffer di detta come regolare il flusso di informazioni è per l'utente . Un buffer più grande permetterà la memorizzazione temporanea dei dati più entrata, a costo di usare più memoria . Standard Input e Output
Spesso , ingresso e uscita in un programma di verifica in una singola azione . Un utente inserisce ingresso , forse testuale o attraverso una serie di scelte in un'interfaccia utente grafica , e il programma memorizza questo ingresso in una variabile o di riferimento. Il sistema operativo gestisce l'input e le operazioni di input , il che significa che i dati possono essere recuperati da un'origine di rete o il disco rigido . Queste richieste di tempo per compiere , rallentando il tempo di esecuzione di un programma.
Buffered Streams
Buffered flussi mitigare i problemi di utilizzo di I /O con la creazione di uno spazio nel programma del memoria per memorizzare porzioni di ingresso per l'uso. Il buffer conterrà una parte dei dati che il programma legge immediatamente dalla memoria . Quando si svuota tampone, o quando un altro determinata condizione , come ad esempio il buffer raggiunge uno status mezzo vuoto , il programma quindi effettuare la chiamata al sistema per caricare più dati nel buffer . Chiama necessario questo sistema limiti per i dati di processo , esecuzione eventualmente eccesso di velocità .
Buffered Formati Streaming
La dimensione del buffer dipende dalle esigenze dell'utente e determina come quantità di dati nel buffer in grado di memorizzare . Ciò significa che il buffer può avere un sacco di dati pronti per il programma di leggere , oppure può avere un piccolo spazio che richiede più chiamate di sistema . Tipicamente , tamponata oggetti nei linguaggi di programmazione orientati agli oggetti sono dotati di una dimensione predefinita . Diverse esigenze applicative possono richiedere la modifica dimensione del buffer. Una domanda di streaming audio potrebbe essere necessario più spazio tamponata di un'applicazione che fare con l'input da tastiera , per esempio.
Buffer Size e prestazioni
La dimensione del buffer si riferisce direttamente al quante chiamate di sistema di un programma potrebbe aver bisogno di fare durante l'esecuzione. Se un programma legge i dati prima della trasformazione , il rapporto tra la dimensione del buffer e l' efficienza temporale tende a plateau. Tuttavia, i programmi che i dati di flusso tendono a guadagnare un significativo vantaggio di una maggiore dimensione del buffer. Questi programmi elaborano continuamente i dati dal buffer , il che significa che un buffer più grande potrebbe diminuire le chiamate di sistema richiesti .