Εμφάνιση 1-14 από 14
  1. #1
    Εγγραφή
    16-07-2008
    Μηνύματα
    357
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    7350/940
    ISP
    Forthnet
    Router
    Gennet
    SNR / Attn
    8.3(dB) / 47.2(dB)
    Για μαθητική εργασία στο μάθημα της τεχνολογίας, χρησιμοποιήθηκε ένα απλό πρόγραμμα Python για μέτρηση χρόνου εκτέλεσης σε διάφορες CPU. Το πρόγραμμα εκτελεί 10 φορές ένα loop μετρήσεως πρώτων αριθμών, καταγράφει το χρόνο εκτέλεσης κάθε επανάληψης και στο τέλος μας δείχνει το μέσο όρο και τον βέλτιστο χρόνο.

    Γνωρίζουμε ότι αυτές οι μετρήσεις είναι "σχετικές" και όχι αντικειμενικές αλλά ανεκτές για εισαγωγική σχολική εργασία.

    Η πρόσβασή μας σε Η/Υ οπότε και το πλήθος των δειγμάτων μας είναι περιορισμένο. Ζητάμε από όποιον μπορεί να διαθέσει λίγο χρόνο να "τρέξει" το πρόγραμμα και να μας κοινοποιήσει τα αποτελέσματά του καθώς και τον τύπο του επεξεργαστή συν την ταχύτητα λειτουργίας του.

    Το πρόγραμμα (αντιγραφή όλων, επικόλληση σε απλό επεξεργαστή κειμένου, αποθήκευση ως "sbench.py"):

    Κώδικας:
    #sbench.py
    import time
    #---------------------------------------------
    l=[]
    repetition=10
    average=0
    for i in range (repetition):
    	start=time.time()
    	x=1	
    	while True:
    		x=x+1
    		y=2
    		while True:
    			if x%y==0:
    				if x==y:
    					break
    				else:
    					break
    			else:
    				y=y+1
    		if x >=20000:
    			break
    	end=time.time()
    	duration=end-start
    	print i+1,"/",repetition,"{:.3f}".format(duration)
    	l.append(duration)
    l.sort()
    for c in range (repetition):
    	average=average+l[c]
    print "average:","{:.3f}".format(average/repetition)
    print "best is:","{:.3f}".format(l[0])
    #---------------------------------------------
    Θα το τρέξετε από τερματικό με:
    Κώδικας:
    python sbench.py
    Η εντολή που θα δείξει στο τερματικό τα στοιχεία του επεξεργαστή:
    Κώδικας:
    lshw -class processor | grep -i -e product -e MHz
    Χρειαζόμαστε τον Μ.Ο. και τον καλύτερο χρόνο εκτέλεσης και την έξοδο της παραπάνω εντολής (στοιχεία CPU).


    Ενδεικτικά αναφέρω τις μετρήσεις μας μέχρι τώρα:

    Κώδικας:
    ΕΠΕΞΕΡΓΑΣΤΗΣ     ΜΕΣΟΣ ΟΡΟΣ (sec)  ΚΑΛΥΤΕΡΟΣ ΧΡΟΝΟΣ (sec)
    I7 6700                2.288          2.275
    A10 8750               3.866          3.683
    I5 4200M               3.880          3.871
    I7 860                 4.615          4.605
    Core2 Duo E8400        4.685          4.682
    I5 M460                4.782          4.774
    Pentium Dual E5400     5.147          5.144
    Core2 Duo T7250	       6.160          6.156
    E1400                  6.724          6.722
    Pentium Dual T3200     6.827          6.824
    Atom N270             24.624         24.590
    Atom N550             26.203         26.183
    Raspberry Pi-3B       45.203         42.607

    Ευχαριστούμε προκαταβολικά
    Τελευταία επεξεργασία από το μέλος GeorgeVita : 14-05-17 στις 18:07.

  2. #2
    Εγγραφή
    11-12-2003
    Περιοχή
    Θεσσαλονίκη
    Ηλικία
    46
    Μηνύματα
    6.616
    Downloads
    6
    Uploads
    0
    Τύπος
    VDSL2
    Ταχύτητα
    102400/10240
    ISP
    Vodafone
    DSLAM
    ΟΤΕ - ΤΟΥΜΠΑ
    Router
    Fritz!box 7530
    Intel Core i5 4590 @ 3.3GHz:

    average: 2.378
    best is: 2.356

    Σημείωση ότι το πρόγραμμα τρέχει σε 2.7 Python.
    ... Morpheus: What is "real"? How do you define "real"? If you 're talking about what you can feel, what you can smell, what you can taste and see, then "real" is simply electrical signals interpreted by your brain...
    __________
    Η σελίδα μου - e-tameio

  3. #3
    Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz

    average: 2.302
    best is: 2.267

    Παρεπιπτόντως, άλλαξα την print για να παίξει και με python 3 και εκεί τα αποτελέσματα ήταν καλύτερα.

    average: 1.775
    best is: 1.761

  4. #4
    Εγγραφή
    06-12-2011
    Περιοχή
    Athens
    Μηνύματα
    1.731
    Downloads
    1
    Uploads
    0
    Τύπος
    ADSL
    Ταχύτητα
    10240/1024
    ISP
    ΟΤΕ Conn-x
    DSLAM
    ΟΤΕ - ΠΑΤΗΣΙΑ
    Router
    Οτι του ΟΤΕ
    SNR / Attn
    6.9(dB) / 28(dB)
    Q9550@3.64hHZ

    average: 3.906
    best is: 3.906
    Asus P5Q3-Intel Core2Quad Q9550 @ 3792 MHz- L2-12MB - Patriot 2x4096 - ASUS 9800GT@690/1Gb-SSD Samsung EVO 850 250GB-WD katram 640GB - Seagate 320gb-WD 1.5TB - WD 2.0TB
    The truth is out there.

  5. #5
    Εγγραφή
    25-07-2006
    Περιοχή
    Edenoi
    Ηλικία
    37
    Μηνύματα
    4.667
    Downloads
    7
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    17104 down / 1022 up
    ISP
    Vodafone
    Router
    TD-W8960N V8
    SNR / Attn
    5.8(dB) / 21(dB)
    Path Level
    Interleaved
    Intel i7 4770k @ 3.5GHz
    Κώδικας:
    1 / 10 2.422
    2 / 10 2.505
    3 / 10 2.521
    4 / 10 2.507
    5 / 10 2.498
    6 / 10 2.492
    7 / 10 2.513
    8 / 10 2.494
    9 / 10 2.524
    10 / 10 2.505
    
    average: 2.498
    best is: 2.422
    My adslgr.com account password is the last 7 digits of π. No hackers so far.
    Hello, I'm Death. You may be familiar with my Blue Screen.

  6. #6
    Εγγραφή
    07-02-2007
    Μηνύματα
    747
    Downloads
    6
    Uploads
    0
    Ο αλγόριθμός σου, είσαι σίγουρος ότι είναι σωστός; Τι είναι αυτό;
    Κώδικας:
    				if x==y:
    					break
    				else:
    					break
    Anyway
    Κώδικας:
    $ uname -a
    Linux hostname 4.10.11-1-ARCH #1 SMP PREEMPT Tue Apr 18 08:39:42 CEST 2017 x86_64 GNU/Linux
    
    $ lscpu | grep 'Model name'
    Model name:            Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
    
    $ sudo lshw -class processor | grep -i -e product -e MHz
           product: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
           size: 3999MHz
    
    $ python2
    Python 2.7.13 (default, Feb 11 2017, 12:22:40) 
    [GCC 6.3.1 20170109] on linux2
    
    $ python3
    Python 3.6.1 (default, Mar 27 2017, 00:27:06) 
    [GCC 6.3.1 20170306] on linux
    Τόσο σε Python2 όσο και σε Python3 ο χρόνος εκτέλεσης πέφτει κατά 10% περίπου την δεύτερη φορά που τρέχεις το script. Προφανώς κάτι μένει στην cache:
    Κώδικας:
    $ python2 sbench.py
    average: 2.678
    best is: 2.643
    
    $ python2 sbench.py
    average: 2.457
    best is: 2.434
    Κώδικας:
    $ python3.6 sbench.py
    average: 2.160
    best is: 2.137
    
    $ python3.6 sbench.py
    average: 1.931
    best is: 1.918
    Η πλάκα είναι ότι η Python 3.4 σέρνεται :P
    Κώδικας:
    $ python3.4 sbench.py
    average: 3.132
    best is: 3.122
    Just for the kick of it, με pypy που χρησιμοποιεί JIT (Just In Time compiler):
    Κώδικας:
    $ pypy sbench.py
    average: 0.236
    best is: 0.235
    Οδηγός για LaTeX στα Ελληνικά
    Οδηγός για Linux στα Ελληνικά

  7. #7
    Εγγραφή
    16-07-2008
    Μηνύματα
    357
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    7350/940
    ISP
    Forthnet
    Router
    Gennet
    SNR / Attn
    8.3(dB) / 47.2(dB)
    Ευχαριστώ για τις μετρήσεις σας μέχρι τώρα!

    Παράθεση Αρχικό μήνυμα από pmav99 Εμφάνιση μηνυμάτων
    Ο αλγόριθμός σου, είσαι σίγουρος ότι είναι σωστός; ...
    ...Τόσο σε Python2 όσο και σε Python3 ο χρόνος εκτέλεσης πέφτει κατά 10% περίπου την δεύτερη φορά που τρέχεις το script. Προφανώς κάτι μένει στην cache...
    Ευχαριστώ για την επισήμανση του λάθους, "ευτυχώς" υπάρχει και στο πρωτότυπο πρόγραμμα των δοκιμών μας και επειδή μας ενδιαφέρει μόνο ο χρόνος εκτέλεσης δεν είναι σοβαρό πρόβλημα. Ενδιαφέρουσες και οι επιπλέον δοκιμές σου!

    Οσον αφορά τις δικές μας μετρήσεις, για να είναι πιο αντικειμενικές, bootάρουμε σε κάθε Η/Υ το ίδιο Live-USB με KNOPPIX και τρέχουμε το πρόγραμμα χωρίς δίκτυο κλπ.
    Τελευταία επεξεργασία από το μέλος GeorgeVita : 15-05-17 στις 21:19.

  8. #8
    Εγγραφή
    30-01-2005
    Περιοχή
    City of light with thy violet crown
    Ηλικία
    44
    Μηνύματα
    6.990
    Downloads
    23
    Uploads
    0
    Ταχύτητα
    150/30Mbps
    ISP
    BT FTTP
    Router
    pfSense/Openreach ONT
    Intel Xeon CPU E5-1660 v4 @ 3.20GHz

    average: 2.793
    best is: 2.764

    Και σε VM με 4x vCPUs:

    Intel Xeon CPU E5-2660 v2 @ 2.20GHz

    average: 4.911
    best is: 4.795

    Και στις δύo περιπτώσεις RHEL 6.9 και Python 2.6.6

    Θα προσπαθήσω να θυμηθώ να το τρέξω και στο λαπτόπι το βράδυ.
    Όταν ενώνουμε τις δυνάμεις μας, μπορούμε να πετύχουμε το ακατόρθωτο - Παναγιώτης Γιαννάκης

    Never say never, because limits, like fears, are often just an illusion -
    Michael Jordan


  9. #9
    Εγγραφή
    18-04-2008
    Περιοχή
    /boot/vmlinuz
    Μηνύματα
    192
    Downloads
    4
    Uploads
    0
    Ταχύτητα
    12288/1024
    ISP
    ΟΤΕ Conn-x
    Router
    Zyxel P-661H-D1
    SNR / Attn
    6(dB) / 30(dB)
    Intel(R) Xeon(R) CPU E5-2680 v4 @ 2.40GHz:

    average: 2.901
    best is: 2.901


    Intel(R) Xeon(R) CPU E5-2623 v3 @ 3.00GHz
    average: 2.332
    best is: 2.213
    Τελευταία επεξεργασία από το μέλος KernelPanic : 16-05-17 στις 15:23.
    Unix is user-friendly. It's just very selective about who its friends are...

  10. #10
    Εγγραφή
    07-09-2009
    Ηλικία
    32
    Μηνύματα
    1.165
    Downloads
    0
    Uploads
    0
    ISP
    -
    Intel Core i5-3570K CPU @ 3.40GHz

    1 / 10 2.438
    2 / 10 2.352
    3 / 10 2.307
    4 / 10 2.309
    5 / 10 2.270
    6 / 10 2.274
    7 / 10 2.321
    8 / 10 2.317
    9 / 10 2.275
    10 / 10 2.278
    average: 2.314
    best is: 2.270

  11. #11
    Εγγραφή
    16-07-2008
    Μηνύματα
    357
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    7350/940
    ISP
    Forthnet
    Router
    Gennet
    SNR / Attn
    8.3(dB) / 47.2(dB)
    Ευχαριστώ και για τις υπόλοιπες μετρήσεις, υπερδιπλασιάσαμε τα δείγματά μας και με τα "-K " και "Xeon" γίναμε και γρηγορότεροι!
    Οσον αφορά την εργασία τελειώσαμε, μετά το καθαρογράψιμο θα ανεβάσω και τον τελικό πίνακα.

    Ευχαριστούμε και πάλι!

  12. #12
    Εγγραφή
    30-01-2005
    Περιοχή
    City of light with thy violet crown
    Ηλικία
    44
    Μηνύματα
    6.990
    Downloads
    23
    Uploads
    0
    Ταχύτητα
    150/30Mbps
    ISP
    BT FTTP
    Router
    pfSense/Openreach ONT
    Intel Core i5-4300M CPU @ 2.60GHz

    OpenSuse 42.2 και Python 2.7.12

    average: 2.280
    best is: 2.264
    Όταν ενώνουμε τις δυνάμεις μας, μπορούμε να πετύχουμε το ακατόρθωτο - Παναγιώτης Γιαννάκης

    Never say never, because limits, like fears, are often just an illusion -
    Michael Jordan


  13. #13
    Εγγραφή
    16-07-2008
    Μηνύματα
    357
    Downloads
    0
    Uploads
    0
    Τύπος
    ADSL2+
    Ταχύτητα
    7350/940
    ISP
    Forthnet
    Router
    Gennet
    SNR / Attn
    8.3(dB) / 47.2(dB)
    Ο τελικός πίνακας μετρήσεων μαζί με τον δείκτη απόδοσης Passmark (http://www.cpubenchmark.net):
    Κώδικας:
                                        Χρόνος εκτ.            Δείκ.Απόδοσης                 Ελεγχος;
                            Live or      sbench.py               PassMark    α/α κατάταξης  Χρόνος επί
    Επεξεργαστής            Install   M.O. Ταχύτερος  Πυρήνες Συνολ. 1 πυρ.  Εμείς PassMark  PassMark
    
    XEON E5-2623 v3 @3.00GHz   I     2.332     2.213     4     9097   1847     1      8        4087
    i5-4300M @2.60GHz          I     2.280     2.264     2     4388   1794     2      9        4062
    i7-6700 @3.40GHz           I     2.302     2.267     4    10038   2160     3      3        4897
    i5-3570K @3.40GHz          I     2.314     2.270     4     7148   2028     4      7        4604
    i7-6700 @3.40GHz           L     2.288     2.275     4    10038   2160     5      4        4914
    i5-4590 @3.30GHz           I     2.378     2.356     4     7225   2113     6      5        4978
    i7-4770K @3.50GHz          I     2.498     2.422     4    10114   2255     7      2        5462
    i7-4790K @4.00GHz          I     2.457     2.434     4    11197   2530     8      1        6158
    XEON E5-1660 v4 @3.20GHz   I     2.793     2.764     8    16334   2102     9      6        5810
    XEON E5-2680 v4 @2.40GHz   I     2.901     2.901    14    19905   1772    10     10        5141
    A10-8750 @3.60GHz          I     3.321     3.097     4     5177   1637    11     12        5070
    A10-8750 @3.60GHz          L     3.866     3.683     4     5177   1637    12     13        6029
    i5-4200M @2.50GHz          L     3.875     3.871     2     4031   1647    13     11        6376
    Core2 Quad Q9550 @3.64GHz  I*    3.906     3.906     4     5157   1544    14     15        6031
    i3-2100 @3.10GHz           L     4.540     4.084     2     3661   1583    15     14        6465
    i7-860 @2.80GHz            L     4.615     4.605     4     5059   1226    16     17        5646
    i5 M460 @2.53GHz           L     4.782     4.774     2     2334   1070    17     18        5108
    VM XEON E5-2660 v2 @2.2GHz VM    4.911     4.795     4    11161   1417    18     16        6795
    Core2Duo T7250 @2.00GHz    L     6.160     6.156     2     1112    710    19     19        4371
    Pentium E1400 @2.00GHz     L     6.724     6.722     2     1042    693    20     20        4658
    Core2Duo T5670 @1.80GHz    L     6.811     6.780     2     1009    655    21     22        4441
    Pentium T3200 @2.00GHz     L     6.827     6.824     2     1032    679    22     21        4633
    Pentium 4 @2.80GHz         L    13.145    13.118     1      323    629    23     23        8251
    Atom N270 @1.60GHz         L    24.624    24.590     1      270    235    24     24        5779
    Atom N550 @1.50GHz         L    26.203    26.183     2      515    230    25     25        6022
                                        
                            I*=overclocked
    Στη σύγκριση με τον δείκτη PassMark βρήκαμε ομοιότητα στην κατάταξη (α/α) τουλάχιστον για τις δοκιμές με το Live-USB, αλλά δεν υπήρξε γραμμική σχέση αντίστροφης αναλογίας χρόνου εκτέλεσης με τον δείκτη απόδοσης. Προφανώς άλλοι λόγοι (h/w, OS) επηρεάζουν την τελική απόδοση. Διερεύνηση σε επόμενες ... τάξεις!

  14. #14
    Εγγραφή
    07-02-2007
    Μηνύματα
    747
    Downloads
    6
    Uploads
    0
    Αυτό που βρίσκω ενδιαφέρον είναι ότι πχ στους haswell που θεωρητικά έχουν το ίδio IPC (Instructions Per Cycle) και θα έπρεπε τα clocks να επηρεάσουν το αποτέλεσμα (πιο γρήγορα ρολόγια -> πιο γρήγορη εκτέλεση), να συμβαίνει ακριβώς το αντίθετο!
    https://en.wikipedia.org/wiki/Instructions_per_cycle
    Οδηγός για LaTeX στα Ελληνικά
    Οδηγός για Linux στα Ελληνικά

Παρόμοια Θέματα

  1. Εργασια σε Python
    Από Alderaan1 στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 3
    Τελευταίο Μήνυμα: 08-04-17, 10:24
  2. Εγκατάσταση Python
    Από gimani25 στο φόρουμ Windows
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 07-10-16, 20:09
  3. Python Developer στο Εξωτερικό (θέση εργασίας)
    Από xpan στο φόρουμ Προγραμματισμός και γλώσσες προγραμματισμού
    Μηνύματα: 0
    Τελευταίο Μήνυμα: 10-06-16, 13:57

Bookmarks

Bookmarks

Δικαιώματα - Επιλογές

  • Δεν μπορείτε να δημοσιεύσετε νέα θέματα
  • Δεν μπορείτε να δημοσιεύσετε νέα μηνύματα
  • Δεν μπορείτε να αναρτήσετε συνημμένα
  • Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας
  •  
  • Τα BB code είναι σε λειτουργία
  • Τα Smilies είναι σε λειτουργία
  • Το [IMG] είναι σε λειτουργία
  • Το [VIDEO] είναι σε λειτουργία
  • Το HTML είναι εκτός λειτουργίας