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

Συζητήσεις για θέματα που σχετίζονται με software.
Post Reply
User avatar
proskopos
Wow! Terabyte level
Wow! Terabyte level
Posts: 2808
Joined: Tue Dec 18, 2007 4:01 pm
Academic status: Alumnus/a
Gender:
Location: Στα φεγγάρια του Πλάνταρ...
Contact:

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

Post by proskopos » Sat Oct 11, 2008 6:09 pm

Θα ήθελα να ρωτήσω αν υπάρχει κάποιο πρόγραμμα, που να δέχεται σαν είσοδο κώδικα σε κάποια γλώσσα, και τα δεδομένα εισόδου, και να μετράει την χρήση των πόρων και του χρόνου που χρειάζεται για να ολοκληρωθεί...!
Ένα πρόγραμμα δηλαδή που θα μπορεί να συγκρίνει 2 διαφορετικούς κώδικες για τα ίδια δεδομένα....
Extreme Makeover... Mind edition...
3,6 μαθήματα/εξεταστική....
Image
Costantine
Kilobyte level
Kilobyte level
Posts: 203
Joined: Sun Sep 17, 2006 12:41 am

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

Post by Costantine » Sat Oct 11, 2008 6:15 pm

.
Last edited by Costantine on Fri Nov 14, 2008 2:18 am, edited 2 times in total.
User avatar
sandra
Wow! Terabyte level
Wow! Terabyte level
Posts: 4917
Joined: Mon Oct 02, 2006 11:37 am
Academic status: Alumnus/a
Gender:
Location: στη φωλιά μου κοιτώντας ένα χωράφι με στάρι...

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

Post by sandra » Sat Oct 11, 2008 6:17 pm

Από ότι κατάλαβα δεν θέλει πρόγραμμα που να προβλέπει χρόνο εκτέλεσης αλλά πρόγραμμα που να κρατά στατιστικά στοιχεία. Κάτι θυμάμαι από δομές για μια μέθοδο στην java που μετρούσε χρόνο, αλλά μπορεί και να λέω βλακείες ή να μην έκανε αυτό το πράγμα :lol:
Από εδώ κι εμπρός θα είσαι για πάντα υπεύθυνος για εκείνο που έχεις ημερώσει.
Είσαι υπεύθυνος για το τριαντάφυλλο σου...
User avatar
gasparosoft
Gbyte level
Gbyte level
Posts: 1920
Joined: Fri Oct 19, 2007 8:03 pm

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

Post by gasparosoft » Sat Oct 11, 2008 6:19 pm

Τον χρόνο μπορείς να τον υπολογίσεις και μέσα από το πρόγραμμά σου με τις κατάλληλες μεθόδους. :smt023
User avatar
sandra
Wow! Terabyte level
Wow! Terabyte level
Posts: 4917
Joined: Mon Oct 02, 2006 11:37 am
Academic status: Alumnus/a
Gender:
Location: στη φωλιά μου κοιτώντας ένα χωράφι με στάρι...

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

Post by sandra » Sat Oct 11, 2008 6:25 pm

Στην java είχαμε χρησιμοποιήσει αυτήν System.currentTimeMillis()
Από εδώ κι εμπρός θα είσαι για πάντα υπεύθυνος για εκείνο που έχεις ημερώσει.
Είσαι υπεύθυνος για το τριαντάφυλλο σου...
User avatar
proskopos
Wow! Terabyte level
Wow! Terabyte level
Posts: 2808
Joined: Tue Dec 18, 2007 4:01 pm
Academic status: Alumnus/a
Gender:
Location: Στα φεγγάρια του Πλάνταρ...
Contact:

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

Post by proskopos » Sat Oct 11, 2008 6:32 pm

sandra wrote:Από ότι κατάλαβα δεν θέλει πρόγραμμα που να προβλέπει χρόνο εκτέλεσης αλλά πρόγραμμα που να κρατά στατιστικά στοιχεία. Κάτι θυμάμαι από δομές για μια μέθοδο στην java που μετρούσε χρόνο, αλλά μπορεί και να λέω βλακείες ή να μην έκανε αυτό το πράγμα :lol:
Ναι αυτό ήθελα... Το ξέρω το πρόβλημα αυτό constantine... :-D
Και επίσης θυμάμαι και από τους αλγόριθμους πως να μετράω βήματα κτλ, απλά ρωτάω για κάτι αυτόματο και πιο γρήγορο...
Extreme Makeover... Mind edition...
3,6 μαθήματα/εξεταστική....
Image
Costantine
Kilobyte level
Kilobyte level
Posts: 203
Joined: Sun Sep 17, 2006 12:41 am

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

Post by Costantine » Sat Oct 11, 2008 6:42 pm

.
Last edited by Costantine on Fri Nov 14, 2008 2:18 am, edited 1 time in total.
shodanjr_gr
Mbyte level
Mbyte level
Posts: 810
Joined: Mon Mar 21, 2005 2:45 am
Academic status: Alumnus/a
Location: Stony Brook, NY

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

Post by shodanjr_gr » Sat Oct 11, 2008 7:09 pm

Υπάρχουν διάφορα 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
"Liberal" isn't a dirty word Blackadder!
User avatar
AmmarkoV
Wow! Terabyte level
Wow! Terabyte level
Posts: 2838
Joined: Thu Nov 04, 2004 2:55 pm
Gender:
Location: Reloaded @ Santa Friday
Contact:

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

Post by AmmarkoV » Sun Oct 12, 2008 12:03 am

Σε Dev-C++ υπάρχει ενεργοποιείς από τον Compile "Generate Profiling info for analysis" κάνεις compile ένα run και μετά Execute -> Profile Analysis και σου γράφει πόσο % του χρόνου τρώει η κάθε κλήση ποια καθυστερεί την άλλη και διάφορα τέτοια! :smt023
Μπορείς να εστιάσεις πολύ καλύτερα στο τι κάνει το πρόγραμμα σου αργό!
Spoiler: εμφάνιση/απόκρυψη
I would love to change the world, but they won't give me the source code. Οι καθηγητές πληρώνονται από το δημόσιο αρα από όλους τους Έλληνες για να κάνουν τα μαθήματα. Όλοι οι Έλληνες θα έπρεπε να μπορούν να δουν τα μαθήματα τα οποία πληρώνουν! Tο πνευματικό έργο που επιτελείται με τα χρήματα του δημοσίου ΔΕΝ είναι μόνο δικό σας Όποιος δεν δίνει πανελλήνιες έχει δικαίωμα στην γνώση που πληρώνει [url=http://ammar.gr/gddg]gddg blog[/url]
Image
User avatar
proskopos
Wow! Terabyte level
Wow! Terabyte level
Posts: 2808
Joined: Tue Dec 18, 2007 4:01 pm
Academic status: Alumnus/a
Gender:
Location: Στα φεγγάρια του Πλάνταρ...
Contact:

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

Post by proskopos » Sun Oct 12, 2008 12:17 am

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
Πολύ ωραία... Αυτά έψαχνα... Σας ευχαριστώ πολύ...
Extreme Makeover... Mind edition...
3,6 μαθήματα/εξεταστική....
Image
*estrngd
Mbyte level
Mbyte level
Posts: 612
Joined: Thu Dec 16, 2004 1:45 pm
Academic status: N>4
Gender:
Contact:

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

Post by *estrngd » Mon Oct 13, 2008 7:19 pm

Για αρχή δοκίμασε την εντολή time στο unix.
Post Reply

Return to “Software”