Παναγιώτης Καναβός:Το θέμα είναι, οι δικοί σου προβληματισμοί λύθηκαν? Γιατί θεωρούν ότι τα μικρά buffer είναι χαμηλού κινδύνου? Καθώς και γιατί υπάρχουν συμβιβασμοί ? Εγώ δεν είχα καμμία αμφιβολλία ότι ένα απλό προστατευτικό μέτρο όπως το /GS θα έχει πολλούς περιορισμούς και συμβιβασμούς υπέρ της ταχύτητας.
Χμ, σωστή ερώτηση.
Οι συμβιβασμοί λόγω performance είναι κατανοητοί, αν και εγώ θα ήθελα να μπορούσα να έχω την επιλογή να αναλάβω το "κόστος" του perfomance penalty για οποιαδήποτε function ή buffer όσο μικρό κι αν είναι.
Αυτό που έγινε clear σε εμένα είναι οτι οι μηχανικοί της MS δεν προσπάθησαν να εξαλείψουν το πρόβλημα αλλά προσπάθησαν να ελαχιστοποιήσουν την πιθανότητα εμφάνισης του, με βάση κάποιους κανόνες που ισχύουν και ακολουθούνται στα περσσότερα προγράμματα από τους περισσότερους προγραμματιστές, επηρεάζοντας επίσης όσο το δυνατόν λιγότερο το performance.
Κατά συνέπεια, την έκφραση "
Small buffers are
unlikely to be the target of an attack..."
δεν την ερμηνεύω οτι στα μικρά buffers έχουμε μικρή δυνατότητα να κάνουμε κάτι κακό αλλά οτι:
Τα μικρά buffers έχουν μικρή πιθανότητα να χρησιμοποιηθούν σε πολύ μεγάλα προγράμματα. Ή αλλιώς, τα μικρά buffers έχουν μικρή συχνότητα εμφάνισης σε μεγάλα προγράματα. Τόσο μικρή που δεν αξίζει τον κόπο να δημιουργούν την __cooklie__ variable (με όλα τα συναφή) σε σχέση με αυτό που θα κερδίσουμε...
Nothing to declare...