dd vs cat

Stelios Bounanos sb at dial.pipex.com
Sun Nov 23 04:35:49 EET 2003


 >>>>> On Sat, 22 Nov 2003 17:11:02 -0500, Alexandros Papadopoulos
 >>>>> <apapadop at cmu.edu> was rumoured to have said:

 > Ξέρει κανείς αν αυτές οι δύο εντολές κάνουν κάτι το διαφορετικό;

Και οι δυο κάνουν read(2) και write(2) φυσικά, αλλά με τη dd μπορείς να
ρυ8μίσεις ξεχωριστά τα μεγέ8η των input & output buffers ενω η cat
φαίνεται να χρησιμοποιεί ένα buffer με μέγεθος το ST_BLKSIZE του
input. Αυτό μπορείς να το δεις στον κώδικα ή πειραματικά με
ltrace(1) και stat(1).

 > # cat /dev/hda > /dev/hdb
 > # dd if=/dev/hda of=/dev/hdb

 > Περιμένω το dd να είναι γρηγορότερο από το cat, αλλά το αποτέλεσμα να 
 > είναι ακριβώς το ίδιο.

Χμμμ, προφανώς το 512 in/out buffer size που χρησιμοποιεί το dd δεν
κάνει καμία διαφορά σε σχέση με το 4096 που χρησιμοποιεί το cat, σ'
αυτή την περίπτωση. Δοκιμάζοντας διαφορετικά μεγέθη buffer για read
και write 8α μπορούσες να δεις ποιός δίσκος είναι πιο γρήγορος, αλλά
τα IDE devices συμπεριφέρονται άθλια όταν κάνεις access δύο απο αυτά
στο ίδιο κανάλι οπότε ποιός ξέρει...  (Επίσης, είναι περασμένη η ώρα
εδώ :)

 > Ευχαριστώ

 > -Α


Rgds,
/-sb.




More information about the Linux-greek-users mailing list