georgemarios Δημοσ. 2 Απριλίου 2009 Δημοσ. 2 Απριλίου 2009 οχι, εκτος και αν το μεγεθος των αρχειων ειναι συγκρισιμο με το μεγεθος του checksum. Αντιθετα, αν ενα τυπικο αρχειο ειναι μερικα Kb ή και Mb, ειναι πιο γρηγορο να συγκρινεις τα checksums που ειναι λιγα bytes. Μιλαμε για πολλα αρχεια τωρα ετσι; PS. μιλαω θεωρητικα, σιγουρα εσυ εχεις ασχοληθει με το θεμα αλλα ο παραπανω συλλογισμος μου φαινεται λογικος.
PCharon Δημοσ. 2 Απριλίου 2009 Δημοσ. 2 Απριλίου 2009 οχι, εκτος και αν το μεγεθος των αρχειων ειναι συγκρισιμο με το μεγεθος του checksum. Αντιθετα, αν ενα τυπικο αρχειο ειναι μερικα Kb ή και Mb, ειναι πιο γρηγορο να συγκρινεις τα checksums που ειναι λιγα bytes. Μιλαμε για πολλα αρχεια τωρα ετσι; ο παραπανω συλλογισμος μου φαινεται λογικος. Εμένα δε μου φαίνεται καθόλου λογικός. Αν θες να το δεις στην πράξη, σύγκρινε το προγραμματάκι από κάτω με ένα αντίστοιχο που δουλεύει με checksums και κράτα χρόνο, σε ένα "πλούσιο" directory του δίσκου σου. Anyway, μην κολλήσουμε, ό,τι ήταν να ειπωθεί νομίζω ειπώθηκε.
geo1st487 Δημοσ. 2 Απριλίου 2009 Μέλος Δημοσ. 2 Απριλίου 2009 Θα συγκρινω μονο 2 αρχεια μεταξυ τους τα οποια θα ειναι το πολυ 20ΜΒ. Εχω χρησιμοποιησει checksum σε αρχεια 4, 5, 10, 25ΜΒ και δεν εκανε παραπανω απο 1 δευτερολεπτο για το καθε αρχειο. Με αυτους τους χρονους ειμαι ικανοποιημενος σε συνδιασμο με αξιοπιστια 99.9%. Αν δοκιμασω συγκριση byte προς byte δεν ξερω αν θα πετυχω τοσο χαμηλους χρονους.
georgemarios Δημοσ. 2 Απριλίου 2009 Δημοσ. 2 Απριλίου 2009 για να συγκρινεις 2 αρχεια, θα εχεις χαμηλοτερο χρονο με byte-to-byte, ξερεις γιατι; γιατι για να κανεις ενα checksum πρεπει να κανεις proccess ολα τα bytes σε καθε περιπτωση ΚΑΙ να τα συγκρινεις. Αντιθετα, στο byte-to-byte θα κανεις συγκριση μεχρι να βρεις ενα διαφορετικο byte οποτε και σταματας τη συγκριση. Δηλ, μπορει και απο το πρωτο byte να βρεις διαφορα οποτε τα αρχεια ειναι διαφορετικα. Συν του οτι στο byte-to-byte κανεις απλο ελεγχο ισοτητας που ειναι γρηγορη πραξη σε αντιθεση με τις αριθμητικες πραξεις που πρεπει να κανεις για να υπολογισεις το checksum.
greatst Δημοσ. 3 Απριλίου 2009 Δημοσ. 3 Απριλίου 2009 ... Στο site της υπογραφής μου έχω φτιάξει από παλιά το "File Comparator" που λειτουργεί ακριβώς με αυτόν τον τρόπο. Βέβαια είναι σε C, όχι σε VB, οπότε δεν μπορώ να σε βοηθήσω σε κώδικα. Το πρόγραμμα αυτό τι χρησιμοποιεί για το gui? Win32 API?
PCharon Δημοσ. 3 Απριλίου 2009 Δημοσ. 3 Απριλίου 2009 Το πρόγραμμα αυτό τι χρησιμοποιεί για το gui? Win32 API? Ναι, απευθείας.
greatst Δημοσ. 3 Απριλίου 2009 Δημοσ. 3 Απριλίου 2009 Ναι, απευθείας. Γιαυτό είναι τόσο "πουπουλένιο" λοιπόν! Μπράβο σου, ωραία εφαρμογή. Να ρωτήσω: τα bindings του Win32 API είναι για C, C++ ή (το ίδιο εύκολα/άμεσα) και για τις δύο?
PCharon Δημοσ. 3 Απριλίου 2009 Δημοσ. 3 Απριλίου 2009 Είναι το ίδιο. Υ.Γ. Αν έχεις κι άλλες ερωτήσεις δέχομαι ΠΜ για να μη λερώνουμε το topic. Το προγραμματάκι είναι μόνο το 1/10 από αυτά που έχω στο μυαλό μου, αλλά δεν είχα τον κατάλληλο χρόνο να σχοληθώ περισσσότερο μέχρι στιγμής. Θα φάει εξέλιξη κάποια στιγμή σίγουρα και θα μπουν νέα tabs και δυνατότητες...
greatst Δημοσ. 3 Απριλίου 2009 Δημοσ. 3 Απριλίου 2009 Είναι το ίδιο. Οπότε -να υποθέσω ότι- απλά προτιμάς την C από την C++?
PCharon Δημοσ. 3 Απριλίου 2009 Δημοσ. 3 Απριλίου 2009 Οπότε -να υποθέσω ότι- απλά προτιμάς την C από την C++? Ναι, συνήθως! Βέβαια θα προτιμούσα μια mixed κατάσταση με κλάσεις για το χειρισμό του GUI και κάποιες "περιφερειακές" λειτουργίες (σκέψου πως αυτό το προγραμματάκι έχει πάνω από 300kB κώδικα...). Άμα μεγαλώσει κι άλλο θα το γυρίσω εν μέρη (όχι στο αμιγώς λειτουργικό μέρος, εκεί δεν κάνω παραχωρήσεις) σε κλάσεις.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.