Σάββατο 26 Σεπτεμβρίου 2015

Βελτίωση ταχύτητας εκτέλεσης στα Ελληνικά (Μ2000)

Στην αναθεώρηση 55 άλλαξα την ρουτίνα που κάνει τα ελληνικά κεφαλαία και βγάζει τους τόνους. Χρησιμοποιούσα για ευκολία την replace 16 φορές για κάθε λέξη. Έφτιαξα μια select case για 16 περιπτώσεις και τώρα βελτιώθηκε, κύρια γιατί δεν βγαίνει αντίγραφο του αλφαριθμητικού 16 φορές, αφού οι αλλαγές γίνονται απ΄ευθείας στη θέση που πρέπει. Η ταχύτητα έφθασε την ταχύτητα των αγγλικών, και μάλιστα στο πίνακα παρακάτω φαίνεται να κερδίζει καμία φορά, αλλά αυτό δεν είναι αληθινό, απλά κάτι άλλο τρέχει πίσω και κλέβει χρόνο εμφανίζοντας το φορτίο ανεβασμένο.


Έχω ενώσει την έξοδο από το κάθε πρόγραμμα σε μια εικόνα. Τα προγράμματα τα έχω δημοσιεύσει και έτρεξαν όπως ήταν.


Τα προηγούμενα ήταν σε Windows  Xp 32 bit (Virtual Box, με βασικό λειτουργικό τα Ubuntu Studio 64bit)
Εδώ έχω εκτέλεση από Windows 8 64bit (Virtual Box επίσης, στο ίδιο μηχάνημα με το προηγούμενο). Είναι φανερό πως τα 8 είναι πιο γρήγορα από τα Xp. Φέρνει καλύτερο χρόνο το 1802ms ενώ στα Xp 2188ms  (στα ελληνικά) περίπου 30% πιο γρήγορο.



(Σημ. 10/3/2016...Η ταχύτητα έχει αυξηθεί, έχουν βελτιωθεί πολλά σημεία και η αναζήτηση των μεταβλητών γίνεται με συνάρτηση κατακερματισμού, δηλαδή απευθείας υπολογίζεται η θέση, και τυχόν σύγκρουση αν υπάρξει το ζητούμενο θα βρίσκεται σε συνδεδεμένη λίστα, με μια δυο συγκρίσεις βρίσκει το όνομα και τις πληροφορίες που θέλει, αλλά και σε περίπτωση ανύπαρκτου ονόματος, πάλι το βρίσκει γρήγορα. Ποτέ δεν ψάχνει τη λίστα, μόνο συγκεκριμένη θέση και αν υπάρχει κάτι μόνο σε αυτό και ότι είναι συνδεδεμένο πάνω σε αυτό. Την ιδέα την έχω περιγράψει με το παράδειγμα Hash Table 2).

 

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου

You can feel free to write any suggestion, or idea on the subject.