Ελληνική μεταφραστική ομάδα GNOME team@gnome.gr 2009-2015 Δημήτρης Σπίγγος dmtrs32@gmail.com 2013 Γιάννης Κατσαμπίρης giannis1_86@hotmail.com 2010 Σίμος Ξενιτέλλης simos@gnome.org 2009 Κωνσταντίνος Κουράτορας kouratoras@gmail.com 2010 Σωτηρία Τζιούρη sotitz@gmail.com 2010 Τζένη Πετούμενου epetoumenou@gmail.com 2009 Τουρνάρης Παύλος-Πέτρος p.tournaris@gmail.com 2010 Οι αναζητήσεις δίσκου θεωρούνται επιβλαβής

Οι αναζητήσεις του δίσκου είναι από τις ποιο δαπανηρές διαδικασίες που μπορείτε ενδεχομένως να εκτελέσετε. Μπορεί να μην το καταλάβετε αυτό απλά εξετάζοντας πόσες από αυτές εκτελείτε, αλλά πιστέψτε μας, είναι πολλές. Συνεπώς, παρακαλώ να αποφεύγεται την ακόλουθη μη-βέλτιστη συμπεριφορά:

Τοποθετώντας πολλά μικρά αρχεία παντού στον δίσκο.

Άνοιγμα, δηλώσεις, και ανάγνωση πολλών μικρών αρχείών παντού στον δίσκο.

Κάνοντας τα ανωτέρω σε αρχεία που δημιουργήθηκαν σε διαφορετικούς χρόνους, ώστε να εξασφαλιστεί ότι είναι τεμαχισμένα και να προκαλούν ακόμη περισσότερη αναζήτηση.

Κάνοντας τα ανωτέρω σε αρχεία που είναι σε διαφορετικούς καταλόγους, ώστε να εξασφαλιστεί ότι βρίσκονται σε διαφορετικές ομάδες κυλίνδρων και έτσι να προκαλεί ακόμη περισσότερη αναζήτηση.

Επαναλαμβανόμενη εκτέλεση των ανωτέρω όταν θα έπρεπε να γίνει μια μόνο φορά.

Τρόποι με τους οποίους μπορείτε να βελτιστοποιήσετε τον κώδικά σας για είναι φιλικός με τις αναζητήσεις:

Παγιώστε τα δεδομένα σε ένα ενιαίο αρχείο.

Κρατήστε τα δεδομένα μαζί στον ίδιο κατάλογο.

Τοποθέτηση των δεδομένων στην προσωρινή μνήμη ώστε να μην χρειάζεται συνεχώς να ξαναδιαβάζονται.

Διαμοιρασμός δεδομένων ώστε να μη χρειάζεται να τα ξαναδιαβάζει από το δίσκο κάθε εφαρμογή όταν φορτώνει.

Καλύτερα να αντιγράφετε όλα τα δεδομένα στην προσωρινή μνήμη σε ένα ενιαίο δυαδικό αρχείο που ευθυγραμμίζεται κατάλληλα και μπορεί να είναι mmaped.

Το πρόβλημα με την αναζητήσεις δίσκων είναι αρκετά σύνθετο όσο αναφορά την ανάγνωση, το όποιο είναι δυστυχώς αυτό που κάνουμε. Να θυμάστε, η ανάγνωση είναι γενικά σύγχρονή ενώ η εγγραφή είναι ασύγχρονη. Αυτό κάνει ποιο σύνθετο το πρόβλημα, διατάσσοντας σειριακά κάθε ανάγνωση, και συμβάλλοντας στη λανθάνουσα κατάσταση του προγράμματος.