[Advcomparch] Advcomparch Digest, Vol 10, Issue 16

Nikos Anastopoulos anastop at cslab.ece.ntua.gr
Sat Jun 27 21:48:30 EEST 2009


Δεν έχει σημασία με τι θα γίνει η αρχικοποίηση. Η συνάρτηση 
αρχικοποίησης που έχει ο κώδικας είναι ενδεικτική, και μπορείτε να 
υλοποιήσετε τη δικιά σας αν θέλετε.
Από την μέχρι τώρα εμπειρία μας πάντως, έχουμε παρατηρήσει ότι σε μερικά 
συστήματα η αρχικοποίηση σε 0 δυναμικά δεσμευμένης μνήμης, οδηγεί πολλές 
φορές τον compiler/C library σε βελτιστοποιήσεις τύπου "dead-code 
ellimination" (αφαίρεση κώδικα δηλαδή που δεν έχει πρακτικά κάποιο 
effect), που είναι γενικά "ανεπιθύμητες" γιατί μπορεί να οδηγήσουν 
απρόβλεπτη συμπεριφορά τη στιγμή που προσπαθείς να αξιολογήσεις κάποιο 
κομμάτι κώδικα. Γι'αυτό και θα σας συνιστούσαμε να αποφεύγετε -όπου 
είναι δυνατόν- τις αρχικοποιήσεις σε 0.

Σε κάθε περίπτωση πάντως, θα πρέπει να τσεκάρετε τα αποτελέσματα μιας 
βελτιστοποιημένης έκδοσης σε σχέση με την αρχική (συγκρίνοντας στοιχείο 
προς στοιχείο τον C, δηλαδή), για να δείτε αν η εκάστοτε υλοποίηση είναι 
σημασιολογικά ορθή.

Όσον αφορά τις αναδιατάξεις, αυτό που θα πρέπει να κοιτάξετε είναι να 
τηρούνται οι εξαρτήσεις που υπάρχουν και στον αρχικό κώδικα (...αν 
υπάρχουν).


Ν.



p3tris wrote:
> Μήπως στον αρχικό κώδικα που μας δώσατε, η αρχικοποίηση του πίνακα C 
> έπρεπε να γίνει με μηδενικά αντί με αριθμούς (i+j)?
> ------------------------------------------------------------------------
>
> _______________________________________________
> Advcomparch mailing list
> Advcomparch at lists.cslab.ece.ntua.gr
> http://lists.cslab.ece.ntua.gr/mailman/listinfo/advcomparch
>   





More information about the Advcomparch mailing list