Page 1 of 1

Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sat Oct 11, 2008 6:09 pm
by proskopos
Θα ήθελα να ρωτήσω αν υπάρχει κάποιο πρόγραμμα, που να δέχεται σαν είσοδο κώδικα σε κάποια γλώσσα, και τα δεδομένα εισόδου, και να μετράει την χρήση των πόρων και του χρόνου που χρειάζεται για να ολοκληρωθεί...!
Ένα πρόγραμμα δηλαδή που θα μπορεί να συγκρίνει 2 διαφορετικούς κώδικες για τα ίδια δεδομένα....

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sat Oct 11, 2008 6:15 pm
by Costantine
.

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sat Oct 11, 2008 6:17 pm
by sandra
Από ότι κατάλαβα δεν θέλει πρόγραμμα που να προβλέπει χρόνο εκτέλεσης αλλά πρόγραμμα που να κρατά στατιστικά στοιχεία. Κάτι θυμάμαι από δομές για μια μέθοδο στην java που μετρούσε χρόνο, αλλά μπορεί και να λέω βλακείες ή να μην έκανε αυτό το πράγμα :lol:

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sat Oct 11, 2008 6:19 pm
by gasparosoft
Τον χρόνο μπορείς να τον υπολογίσεις και μέσα από το πρόγραμμά σου με τις κατάλληλες μεθόδους. :smt023

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sat Oct 11, 2008 6:25 pm
by sandra
Στην java είχαμε χρησιμοποιήσει αυτήν System.currentTimeMillis()

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sat Oct 11, 2008 6:32 pm
by proskopos
sandra wrote:Από ότι κατάλαβα δεν θέλει πρόγραμμα που να προβλέπει χρόνο εκτέλεσης αλλά πρόγραμμα που να κρατά στατιστικά στοιχεία. Κάτι θυμάμαι από δομές για μια μέθοδο στην java που μετρούσε χρόνο, αλλά μπορεί και να λέω βλακείες ή να μην έκανε αυτό το πράγμα :lol:
Ναι αυτό ήθελα... Το ξέρω το πρόβλημα αυτό constantine... :-D
Και επίσης θυμάμαι και από τους αλγόριθμους πως να μετράω βήματα κτλ, απλά ρωτάω για κάτι αυτόματο και πιο γρήγορο...

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sat Oct 11, 2008 6:42 pm
by Costantine
.

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sat Oct 11, 2008 7:09 pm
by shodanjr_gr
Υπάρχουν διάφορα profilling tools για πολλές γλώσσες. Το netbeans για παράδειγμα διαθέτει profiler, τον οποίο κάνεις "attach" στο πρόγραμμά σου, και σου δείχνει διάφορα στοιχεία απόδοσης (χρήση μνήμης, χρήση CPU ανά thread, GC info κλπ). Τώρα αν θες απλά να συγκρίνεις χρόνους ολοκλήρωσης:


static float time_elapsed;


public static void main(String args[])
{
time_elapsed = System.currentTimeMillis();

<your code here>

System.out.println("Time elapsed "+(System.currentTimeMillis() - time_ellapsed)+" milliseconds");

}

:P

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sun Oct 12, 2008 12:03 am
by AmmarkoV
Σε Dev-C++ υπάρχει ενεργοποιείς από τον Compile "Generate Profiling info for analysis" κάνεις compile ένα run και μετά Execute -> Profile Analysis και σου γράφει πόσο % του χρόνου τρώει η κάθε κλήση ποια καθυστερεί την άλλη και διάφορα τέτοια! :smt023
Μπορείς να εστιάσεις πολύ καλύτερα στο τι κάνει το πρόγραμμα σου αργό!

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Sun Oct 12, 2008 12:17 am
by proskopos
AmmarkoV wrote:Σε Dev-C++ υπάρχει ενεργοποιείς από τον Compile "Generate Profiling info for analysis" κάνεις compile ένα run και μετά Execute -> Profile Analysis και σου γράφει πόσο % του χρόνου τρώει η κάθε κλήση ποια καθυστερεί την άλλη και διάφορα τέτοια! :smt023
Μπορείς να εστιάσεις πολύ καλύτερα στο τι κάνει το πρόγραμμα σου αργό!
shodanjr_gr wrote:Υπάρχουν διάφορα profilling tools για πολλές γλώσσες. Το netbeans για παράδειγμα διαθέτει profiler, τον οποίο κάνεις "attach" στο πρόγραμμά σου, και σου δείχνει διάφορα στοιχεία απόδοσης (χρήση μνήμης, χρήση CPU ανά thread, GC info κλπ). Τώρα αν θες απλά να συγκρίνεις χρόνους ολοκλήρωσης:


static float time_elapsed;


public static void main(String args[])
{
time_elapsed = System.currentTimeMillis();

<your code here>

System.out.println("Time elapsed "+(System.currentTimeMillis() - time_ellapsed)+" milliseconds");

}

:P
Πολύ ωραία... Αυτά έψαχνα... Σας ευχαριστώ πολύ...

Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα

Posted: Mon Oct 13, 2008 7:19 pm
by *estrngd
Για αρχή δοκίμασε την εντολή time στο unix.