Προγραμμα για αναλυση αποδοτικότητας κώδικα
- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Προγραμμα για αναλυση αποδοτικότητας κώδικα
Θα ήθελα να ρωτήσω αν υπάρχει κάποιο πρόγραμμα, που να δέχεται σαν είσοδο κώδικα σε κάποια γλώσσα, και τα δεδομένα εισόδου, και να μετράει την χρήση των πόρων και του χρόνου που χρειάζεται για να ολοκληρωθεί...!
Ένα πρόγραμμα δηλαδή που θα μπορεί να συγκρίνει 2 διαφορετικούς κώδικες για τα ίδια δεδομένα....
Ένα πρόγραμμα δηλαδή που θα μπορεί να συγκρίνει 2 διαφορετικούς κώδικες για τα ίδια δεδομένα....
-
- Kilobyte level
- Posts: 203
- Joined: Sun Sep 17, 2006 12:41 am
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
.
Last edited by Costantine on Fri Nov 14, 2008 2:18 am, edited 2 times in total.
- sandra
- Wow! Terabyte level
- Posts: 4917
- Joined: Mon Oct 02, 2006 11:37 am
- Academic status: Alumnus/a
- Gender: ♀
- Location: στη φωλιά μου κοιτώντας ένα χωράφι με στάρι...
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
Από ότι κατάλαβα δεν θέλει πρόγραμμα που να προβλέπει χρόνο εκτέλεσης αλλά πρόγραμμα που να κρατά στατιστικά στοιχεία. Κάτι θυμάμαι από δομές για μια μέθοδο στην java που μετρούσε χρόνο, αλλά μπορεί και να λέω βλακείες ή να μην έκανε αυτό το πράγμα 

Από εδώ κι εμπρός θα είσαι για πάντα υπεύθυνος για εκείνο που έχεις ημερώσει.
Είσαι υπεύθυνος για το τριαντάφυλλο σου...
Είσαι υπεύθυνος για το τριαντάφυλλο σου...
- gasparosoft
- Gbyte level
- Posts: 1920
- Joined: Fri Oct 19, 2007 8:03 pm
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
Τον χρόνο μπορείς να τον υπολογίσεις και μέσα από το πρόγραμμά σου με τις κατάλληλες μεθόδους. 

- sandra
- Wow! Terabyte level
- Posts: 4917
- Joined: Mon Oct 02, 2006 11:37 am
- Academic status: Alumnus/a
- Gender: ♀
- Location: στη φωλιά μου κοιτώντας ένα χωράφι με στάρι...
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
Στην java είχαμε χρησιμοποιήσει αυτήν System.currentTimeMillis()
Από εδώ κι εμπρός θα είσαι για πάντα υπεύθυνος για εκείνο που έχεις ημερώσει.
Είσαι υπεύθυνος για το τριαντάφυλλο σου...
Είσαι υπεύθυνος για το τριαντάφυλλο σου...
- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
Ναι αυτό ήθελα... Το ξέρω το πρόβλημα αυτό constantine...sandra wrote:Από ότι κατάλαβα δεν θέλει πρόγραμμα που να προβλέπει χρόνο εκτέλεσης αλλά πρόγραμμα που να κρατά στατιστικά στοιχεία. Κάτι θυμάμαι από δομές για μια μέθοδο στην java που μετρούσε χρόνο, αλλά μπορεί και να λέω βλακείες ή να μην έκανε αυτό το πράγμα

Και επίσης θυμάμαι και από τους αλγόριθμους πως να μετράω βήματα κτλ, απλά ρωτάω για κάτι αυτόματο και πιο γρήγορο...
-
- Kilobyte level
- Posts: 203
- Joined: Sun Sep 17, 2006 12:41 am
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
.
Last edited by Costantine on Fri Nov 14, 2008 2:18 am, edited 1 time in total.
-
- Mbyte level
- Posts: 810
- Joined: Mon Mar 21, 2005 2:45 am
- Academic status: Alumnus/a
- Location: Stony Brook, NY
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
Υπάρχουν διάφορα 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
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
"Liberal" isn't a dirty word Blackadder!
- AmmarkoV
- Wow! Terabyte level
- Posts: 2838
- Joined: Thu Nov 04, 2004 2:55 pm
- Gender: ♂
- Location: Reloaded @ Santa Friday
- Contact:
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
Σε Dev-C++ υπάρχει ενεργοποιείς από τον Compile "Generate Profiling info for analysis" κάνεις compile ένα run και μετά Execute -> Profile Analysis και σου γράφει πόσο % του χρόνου τρώει η κάθε κλήση ποια καθυστερεί την άλλη και διάφορα τέτοια! 
Μπορείς να εστιάσεις πολύ καλύτερα στο τι κάνει το πρόγραμμα σου αργό!

Μπορείς να εστιάσεις πολύ καλύτερα στο τι κάνει το πρόγραμμα σου αργό!
- Spoiler: εμφάνιση/απόκρυψη

- proskopos
- Wow! Terabyte level
- Posts: 2808
- Joined: Tue Dec 18, 2007 4:01 pm
- Academic status: Alumnus/a
- Gender: ♂
- Location: Στα φεγγάρια του Πλάνταρ...
- Contact:
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
AmmarkoV wrote:Σε Dev-C++ υπάρχει ενεργοποιείς από τον Compile "Generate Profiling info for analysis" κάνεις compile ένα run και μετά Execute -> Profile Analysis και σου γράφει πόσο % του χρόνου τρώει η κάθε κλήση ποια καθυστερεί την άλλη και διάφορα τέτοια!
Μπορείς να εστιάσεις πολύ καλύτερα στο τι κάνει το πρόγραμμα σου αργό!
Πολύ ωραία... Αυτά έψαχνα... Σας ευχαριστώ πολύ...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
-
- Mbyte level
- Posts: 612
- Joined: Thu Dec 16, 2004 1:45 pm
- Academic status: N>4
- Gender: ♂
- Contact:
Re: Προγραμμα για αναλυση αποδοτικότητας κώδικα
Για αρχή δοκίμασε την εντολή time στο unix.