"Ein Array von Bytes zu einem Zeitpunkt zu lesen ist viel schneller als das Lesen von einem Byte zu einer Zeit"
Ich sah den Satz there, während ich versuchte, für Input-Stream zu lernen. Warum ist das so?Warum ist das Lesen und Array von Bytes gleichzeitig schneller als das Lesen eines Bytes?
Antwort
Es ist nicht so, dass ein Array von 50 Bytes schneller ist, als 1 Byte zu erhalten. Es ist so, dass es im Laufe der Zeit schneller ist, 1.000.000.000 Datenbytes in 50er-Schritten zu erhalten als 1.000.000.000 Byte nacheinander.
Es ist der gleiche Grund, warum wir nicht für eine Sache auf einmal in den Supermarkt gehen.
Es ist die Reise, die die meiste Zeit braucht, nicht die Menge der Lebensmittel, die wir bekommen.
(Lebensmittel sind Bytes in diesem Beispiel, und die Auslösung ist das Abrufen von Daten aus dem Speicher)
Vielen Dank für Ihre Antwort mit einem schönen Beispiel :) –
Es ist auch erwähnenswert, dass dies stark von der Art des Eingangs Dampf abhängt. Einer, der auf einem In-Memory-Byte-Array basiert, wird sehr schnell sein, sogar für ein Byte zu einem Zeitpunkt. Einer, der auf einer Datei basiert, wird mehr von Chunking profitieren. Die Analogie hängt davon ab, wie weit die Lebensmittelgeschäfte entfernt sind. Deshalb kaufen wir viele Lebensmittel auf einmal, aber es reicht, wenn wir nur eine Flasche aus dem Kühlschrank holen, selbst wenn wir in ein paar Minuten eine zweite Flasche brauchen. – yshavit
- 1. Absturz Lesen Bytes von getsectbyname
- 2. Lesen der InputStream Bytes
- 3. PHP lesen Datei als ein Array von Bytes
- 4. Schreiben ist schneller als das Lesen von x86?
- 5. Python http.client.Incomplete Lesen (0 Bytes lesen) Fehler
- 6. C lesen Funktion lesen mehr Bytes als angefordert
- 7. Ist DataFrameReader schneller als das Lesen von Daten durch hiveContext?
- 8. Lesen von Bytes aus Python String
- 9. Lesen Sie mehrere Bytes, springen Sie über N Bytes und lesen Sie dann mehrere Bytes erneut. Wie?
- 10. Erste Bytes einer Datei lesen
- 11. Erste 6 Bytes von NetworkStream lesen?
- 12. Bytes von Socket auf Java lesen
- 13. Lesen einer CSV-Datei schneller als das Lesen der gleichen Datei komprimiert als .gz
- 14. Bytes aus einer JavaScript-Zeichenfolge lesen
- 15. Netty genaue Anzahl der Bytes lesen
- 16. Wie kann man Bytes lesen (Offset) von BufferedReader?
- 17. Warum verarbeiten Ganzzahlen schneller als Bytes auf NDS?
- 18. Skipping Bytes, wenn sie mit BinData Lesen
- 19. Warum ist Typ (Bytes())
- 20. (C++) ReadProcessMemory - Probleme mit dem Lesen eines Bytes
- 21. Warum ist das Schreiben eines geschlossenen TCP-Sockels schlimmer als das Lesen eines?
- 22. golang: Lesen Zeichenfolge, ganze Zahlen und Bytes aus der Datei
- 23. Macht XML-Schema das Lesen schneller?
- 24. C# und Arduino Master/Slave lesen 3 Bytes von AD
- 25. Dateien byteweise vergleichen oder alle Bytes lesen?
- 26. Lesen von bin-Datei und dividieren in Bytes in TCL
- 27. N Bits (nicht Bytes) in Qt lesen?
- 28. So lesen Sie Bytes als Stream in Python 3
- 29. JavaScript: lesen 3 Bytes Puffer als eine ganze Zahl
- 30. Qt QSerialPort liest nur 8 Bytes gleichzeitig
Dies kann in eine breite Diskussion geraten. Grundsätzlich ist das Lesen von Chunks aufgrund der Computerarchitektur, Elektronik und wer weiß was noch viel schneller als das Lesen eines einzigen Bytes. – Kayaman
Was ist schneller? 1. Nehmen Sie ein Buch auf, lesen Sie * einen Buchstaben *, legen Sie das Buch ab, wiederholen Sie es. 2. Nimm ein Buch auf, lies einen * ganzen Satz *, lege das Buch ab, wiederhole es. – QBrute
Wow! Danke für die perfekten Antworten. –