ερώτηση για τη λειτουργία append to file

Giorgos Keramidas keramida at ceid.upatras.gr
Thu Feb 8 00:50:19 EET 2007


On 2007-02-08 00:42, Michael Iatrou <m.iatrou at freemail.gr> wrote:
>When the date was Thursday 08 February 2007 00:08, George Notaras wrote:
>>On Wed, 2007-02-07 at 16:55 +0200, Giorgos Keramidas wrote:
>>>On 2007-02-07 16:27, George Notaras <george.notaras at gmail.com> wrote:
>>>> Γενικά, σε οποιαδήποτε γλώσσα προγραμματισμού υπάρχει κάποια
>>>> συνάρτηση που προσθέτει δεδομένα στο τέλος ενός αρχείου.
>>>>
>>>> Ας υποθέσουμε ότι έχουμε τις 2 περιπτώσεις:
>>>>
>>>> 1) προσθήκη data σε log 1ΜΒ
>>>> 2) προσθήκη data σε log 100MB
>>>>
>>>> Σε ποια από τις 2 περιπτώσεις το cpu utilization ή η κατανάλωση
>>>> μνήμης θα είναι μεγαλύτερη? Ή δεν παίζει κανένα ρόλο το μέγεθος του
>>>> αρχείου κατά τη διαδικασία αυτή?
>>>
>>> Η απάντηση δεν εξαρτάται από το αρχικό μέγεθος του αρχείου, αλλά
>>> από το πόσο έξυπνο, μοντέρνο και καλά σχεδιασμένο ή ηλίθιο,
>>> απαρχαιωμένο και βλακωδώς σχεδιασμένο file system χρησιμοποιείς
>>> για να αποθηκεύσεις το αρχείο.
>>
>> Χρησιμοποιώ ext3 filesystem, οπότε να θεωρήσω ότι δεν υπάρχει πρόβλημα.
> 
> Στα μεγέθη στα οποία αναφέρεσαι, έτσι κι αλλιώς, για τα σημερινά
> δεδομένα, δεν πρέπει να υπάρχει πρόβλημα.
> 
> AFAIK, ένα filesystem μπορεί να κρατάει για κάθε αρχείο το μέγεθος του
> στο inode, και συνεπώς μια lseek() για SEEK_END επιστρέφει με μια
> πρόσθεση.  Πόσο γρήγορα όμως θα το βρει πάνω στο δίσκο (διάβαζε, θα
> κάνει traverse τη δομή με την οποία είναι οργανωμένα τα δεδομένα πάνω
> στα plates), είναι μια άλλη υπόθεση.

Ακριβώς :)

Άσε που αν ένα μέρος του αρχείου γραφτεί και γίνει overwrite πολύ
γρήγορα, μπορεί ποτέ να μην φτάσει "στο δίσκο" η πρώτη αλλαγή, κάτι που
είναι ιδιαίτερα εντυπωσιακό όταν κάνεις πρώτη φορά τη μετάβαση από
DOS-based[1] λειτουργικά συστήματα (με ή χωρίς SMARTDRIVE) σε Linux!

[1] Δεν έχω ιδιαίτερα καλή επαφή με τα post-Windows-95 συστήματα της
Microsoft, για να ξέρω αν έχει βελτιωθεί η κατάσταση με τα πιο πρόσφατα
λειτουργικά της.




More information about the Linux-greek-users mailing list