Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Καθολικές μεταβλητές σε κλάση - Ο αριθμος τους επηρεάζει την απόδοση του προγράμματος;

Îåêßíçóå áðü ôï ìÝëïò zekia. Τελευταία δημοσίευση από το μέλος zekia στις 21-02-2008, 20:33. Υπάρχουν 2 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  21-02-2008, 19:47 40391

    Καθολικές μεταβλητές σε κλάση - Ο αριθμος τους επηρεάζει την απόδοση του προγράμματος;

    Γειά σαςSmile
    Το πρόγραμμα που φτιάχνω έχει σχεδόν τελειώσει όμως ανησυχώ λιγάκι για το πόσο καλό χρόνο απόκρισης έχει. Υπάρχουν κάποιες λίστες (9 Lists<>) οι οποίες θα με εξυπηρετούσε πάρα πολύ αν τις έκανα καθολικές μεταβλητές ωστε να μπορώ να τις χρησιμοποιώ σε οποιαδήποτε μέθοδο του υπόλοιπου κώδικα. Θα μπορούσα να δώσω καιμια πιο κατανοητή και δομημένη δομή στον κώδικά μου, δηλ να έχω μεθόδους με συγκεκριμένες λειτουργίες, γιατί τωρα επικρατεί ένα μικρό χάος. Οι λίστες αυτές προς το παρόν ορίζονται μέσα σε μια μέθοδο.
    Όμως αυτό νομίζω πως δεν είναι και τόσο καλή τακτική.

    Ο κώδικας είναι κάπως έτσι

    public partial class Default2 : System.Web.UI.Page
    {
        string TotalResults = "";
        List<string> Results_final = new List<string>();

        //μεθοδοι.......

    }

    και θα με βόλευε να γίνει έτσι

    public partial class Default2 : System.Web.UI.Page
    {
        string TotalResults = "";
        List<string> Results_final = new List<string>();

        List<string> a3 = new List<string>();
        List<string> a2 = new List<string>();
        List<string> a3 = new List<string>();
           
        List<string> b1 = new List<string>();
        List<string> b2 = new List<string>();
        List<string> b3 = new List<string>();
           
        List<string> c1 = new List<string>();
        List<string> c2 = new List<string>();
        List<string> c3 = new List<string>();

        //μεθοδοι.......

    }


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

    Ελπίζω να καταλάβατε τι προσπαθώ να πω:)
  •  21-02-2008, 20:08 40392 σε απάντηση της 40391

    Απ: Καθολικές μεταβλητές σε κλάση - Ο αριθμος τους επηρεάζει την απόδοση του προγράμματος;

    Πραγματικά αν αυτό που σε ανησυχεί είναι το "κόστος" της αρχικοποίησης .. ηρέμησε. Αν η εφαρμογή σου πάει αργά, σίγουρα υπάρχουν μέρη στον κώδικά σου τα οποία σε καθυστερούν ΠΟΛΥ περισσότερο απο το  initialization 9 άδειων λιστών.

    Έχωντας πεί αυτό όμως, οφείλω να πώ ότι η ύπαρξη και μόνο 9 λιστών , και μιας  "τελικής λίστας" - η οποία υποπτεύομαι είναι το σύνολο, ή κάποιο υπο-μέρος των άλλων 9 - ... μυρίζει. Αν θυμάμαι και καλά, αυτό είναι συνέχεια εκείνου του "ασύγχρονου" post πρίν λίγο καιρό;

    Εξέτασε "αλγοριθμικά" το τί θες να κάνεις, και άρχισε απο 'κεί. Όπως είπα και πιο πάνω, το κόστος δημιουργίας 9 λιστών είναι αμελητέο. Η ύπαρξή τους όμως μέσα σε μια κλάσση, και το ότι θες να τις μοιραστείς μεταξύ μεθόδων, ακούγεται .. κάπως, κακό. Φυσικά δεν ξέρω το ακριβές σενάριό σου, αλλά μέσες άκρες νομίζω είμαι κοντά :)

    Συνήθως, ο λιγότερος, και "καθαρός" κώδικας - που διαβάζεται δηλαδή εύκολα την πρώτη φορά που τον κοιτάς - είναι και πιο performant στην πλειοψηφία των περιπτώσεων ... ( αυτό ήταν δήλωση για ... flame ...  αλλά το πιστεύω ακράδαντα ... )

    happy coding :]

    Angel
    O:]
  •  21-02-2008, 20:33 40394 σε απάντηση της 40392

    Απ: Καθολικές μεταβλητές σε κλάση - Ο αριθμος τους επηρεάζει την απόδοση του προγράμματος;

    Όχι η εφαρμογή μπορώ να πω πως τρέχει σχετικά γρήγορα μέχρι στιγμής. Δηλαδή με τόσους υπολογισμούς εκπλήσομαι με το πόσο καλά παέι. (ε εντάξει δεν είναι και google!) Απλά επειδή στην πορεία γραψίματος έκανα ριζικές αλλαγές, αυτό που ξεκίνησε σωστά δομημένο κατέληξε λίγο κουβάρι! Η αλλαγη της αλλαγής, η δοκιμή της δοκιμής.

    Τωρα προσπαθω να τον συμαζέψω λίγο και επειδή φοβάμαι πως θα καταστρέψω αντι να καλυτερέψω, είμαι λιγάκι σκεφτική.

    Είναι εργασία το όλο πρόγραμμα και δεν ξέρω πως θα φανεί προγραμματιστικά 9 λιστες στην αρχή μιας κλάσης. Καταλαβανεις τι εννοω....:)


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems