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

Michael Iatrou m.iatrou at freemail.gr
Thu Feb 8 00:42:10 EET 2007


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), είναι μια 
άλλη υπόθεση.

-- 
 Michael Iatrou




More information about the Linux-greek-users mailing list