<?xml version="1.0" encoding="utf-8"?>
<chapter>
    <title>Οι αναζητήσεις δίσκου θεωρούνται επιβλαβής</title>

    <para>Οι αναζητήσεις του δίσκου είναι από τις ποιο δαπανηρές διαδικασίες που μπορείτε ενδεχομένως να εκτελέσετε. Μπορεί να μην το καταλάβετε αυτό απλά εξετάζοντας πόσες από αυτές εκτελείτε, αλλά πιστέψτε μας, είναι πολλές. Συνεπώς, παρακαλώ να αποφεύγεται την ακόλουθη μη-βέλτιστη συμπεριφορά:</para>
    <itemizedlist>
        <listitem>
            <para>Τοποθετώντας πολλά μικρά αρχεία παντού στον δίσκο.</para>
        </listitem>
        <listitem>
            <para>Άνοιγμα, δηλώσεις, και ανάγνωση πολλών μικρών αρχείών παντού στον δίσκο.</para>
        </listitem>
        <listitem>
            <para>Κάνοντας τα ανωτέρω σε αρχεία που δημιουργήθηκαν σε διαφορετικούς χρόνους,  ώστε να εξασφαλιστεί ότι είναι τεμαχισμένα και να προκαλούν ακόμη περισσότερη αναζήτηση.</para>
        </listitem>
        <listitem>
            <para>Κάνοντας τα ανωτέρω σε αρχεία που είναι σε διαφορετικούς καταλόγους, ώστε να εξασφαλιστεί ότι βρίσκονται σε διαφορετικές ομάδες κυλίνδρων και έτσι να προκαλεί ακόμη περισσότερη αναζήτηση.</para>
        </listitem>
        <listitem>
            <para>Επαναλαμβανόμενη εκτέλεση των ανωτέρω όταν θα έπρεπε να γίνει μια μόνο φορά.</para>
        </listitem>
    </itemizedlist>
    <para>Τρόποι με τους οποίους μπορείτε να βελτιστοποιήσετε τον κώδικά σας για είναι φιλικός με τις αναζητήσεις:</para>
    <itemizedlist>
        <listitem>
            <para>Παγιώστε τα δεδομένα σε ένα ενιαίο αρχείο.</para>
        </listitem>
        <listitem>
            <para>Κρατήστε τα δεδομένα μαζί στον ίδιο κατάλογο.</para>
        </listitem>
        <listitem>
            <para>Τοποθέτηση των δεδομένων στην προσωρινή μνήμη ώστε να μην χρειάζεται συνεχώς να ξαναδιαβάζονται.</para>
        </listitem>
        <listitem>
            <para>Διαμοιρασμός δεδομένων ώστε να μη χρειάζεται να τα ξαναδιαβάζει από το δίσκο κάθε εφαρμογή όταν φορτώνει.</para>
        </listitem>
        <listitem>
            <para>Καλύτερα να αντιγράφετε όλα τα δεδομένα στην προσωρινή μνήμη σε ένα ενιαίο δυαδικό αρχείο που ευθυγραμμίζεται κατάλληλα και μπορεί να είναι mmaped.</para>
        </listitem>
    </itemizedlist>
    <para>Το πρόβλημα με την αναζητήσεις δίσκων είναι αρκετά σύνθετο όσο αναφορά την ανάγνωση, το όποιο είναι δυστυχώς αυτό που κάνουμε. Να θυμάστε, η ανάγνωση είναι γενικά σύγχρονή ενώ η εγγραφή είναι ασύγχρονη. Αυτό κάνει ποιο σύνθετο το πρόβλημα, διατάσσοντας σειριακά κάθε ανάγνωση, και συμβάλλοντας στη λανθάνουσα κατάσταση του προγράμματος.</para>
</chapter>
