geo1st487 Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 Διαβασα σε ενα ξενο site εναν που ελεγε οτι ειναι μηχανολογος μηχανικος και στη δουλεια του χρησιμοποιει visual c++ για να δημιουργησει εφαρμογες που τρεχουν σε πραγματικο χρονο και οτι με την visual basic δεν μπορει να γινει κατι τετοιο. Τι εννοει ο ποιητης "εφαρμογες που τρεχουν σε πραγματικο χρονο"; Μπορει κανεις να μου πει ποιες ειναι οι συναρτησεις που το κανουν στη visual c++ και γενικα πως γινεται πρακτικα αυτο και πως λειτουργει το ολο συστημα. Ευχαριστω
V.I.Smirnov Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 Γενικά, real time εφαρμογή είναι αυτή που επεξεργάζεται δεδομένα και παρουσιάζει το αποτέλεσμα σε χρόνο που χρήστης μπορεί να αλληλεπιδράσει σχεδόν άμεσα με αυτό. Π.χ. ο μηχανικός μπορεί να κάνει προσομοίωση της ροής ενός ρευστού σε ένα σωλήνα : το πρόγραμμα κάνει τους υπολογισμούς και δείχνει άμεσα πώς κινείται το ρευστό. Ή μπορεί να κάνει προσομοίωση διάδοσης ενός Η/Μ κύματος σε ένα χώρο : το πρόγραμμα δείχνει άμεσα πώς διαδίδεται το κύμα και αλληλεπιδρά με τους σκεδαστές. Ή τα παιχνίδια που έχουν γραφικά : βασίζονται σε μηχανές γραφικών που επεξεργάζονται άμεσα τα δεδομένα που δίνει που δίνει ο χρήστης και σχεδιάζουν τις εικόνες. Aλλά υπάρχουν και πολλές περιπτώσεις όπου ο υπολογισμός είναι τόσο χρονοβόρος ώστε άμεση παρουσίαση του αποτελέσματος και αλληλεπίδραση με τον χρήστη είναι πρακτικά αδύνατη. Π.χ. με μεθόδους ray tracing ή radiοsity παράγονται πολύ καλύτερα γραφικά από αυτά που δίνουν συνήθως οι μηχανές γραφικών αλλά είναι είναι αδύνατο να υλοποιηθούν σε πραγματικό χρόνο αφού ο υπολογισμός απαιτεί ώρες επεξεργασίας. Το αν μια εφαρμογή μπορεί να γίνει real time εξαρτάται μόνον από το πόσο γρήγορα μπορεί να επεξεργαστούν τα δεδομένα και να αποκριθεί ο υπολογιστής. Ο μηχανικός προφανώς εννοούσε ότι η visual basic είναι ακατάλληλη λόγω ταχύτητας και άλλων περιορισμών που δεν έχει η visual c++.
parsifal Δημοσ. 18 Μαΐου 2010 Δημοσ. 18 Μαΐου 2010 Ένας πολύ αδρός ορισμός για τις εφαρμογές πραγματικού χρόνου είναι ότι πρόκειται για εφαρμογές στις οποίες το output για συγκεκριμένο input πρέπει να υπολογιστεί (και πιθανόν, να εμφανιστεί) μέσα σε συγκεκριμένα deadlines από τη στιγμή που θα παραληφθεί το input. Το θέμα με αυτές τις εφαρμογές δεν είναι μόνο ότι πρέπει να γράφεται ο κώδικας με συγκεκριμένο τρόπο, αλλά πρέπει να τρέχουν και σε περιβάλλον/Λειτουργικό που να δίνει κάποιες εγγυήσεις περί latency, scheduling κλπ. Τα κοινά λειτουργικά συστήματα που τρέχουμε στα desktops μας δεν είναι τύπου real-time και δεν προσφέρουν τέτοιου είδους εγγυήσεις ή δεν τις προσφέρουν σε επαρκή βαθμό. Για περισσότερα, δες: http://en.wikipedia.org/wiki/Real-time_operating_system http://en.wikipedia.org/wiki/Real-time_computing
geo1st487 Δημοσ. 18 Μαΐου 2010 Μέλος Δημοσ. 18 Μαΐου 2010 Γενικά, real time εφαρμογή είναι αυτή που επεξεργάζεται δεδομένα και παρουσιάζει το αποτέλεσμα σε χρόνο που χρήστης μπορεί να αλληλεπιδράσει σχεδόν άμεσα με αυτό.Π.χ. ο μηχανικός μπορεί να κάνει προσομοίωση της ροής ενός ρευστού σε ένα σωλήνα : το πρόγραμμα κάνει τους υπολογισμούς και δείχνει άμεσα πώς κινείται το ρευστό. Ή μπορεί να κάνει προσομοίωση διάδοσης ενός Η/Μ κύματος σε ένα χώρο : το πρόγραμμα δείχνει άμεσα πώς διαδίδεται το κύμα και αλληλεπιδρά με τους σκεδαστές. Ή τα παιχνίδια που έχουν γραφικά : βασίζονται σε μηχανές γραφικών που επεξεργάζονται άμεσα τα δεδομένα που δίνει που δίνει ο χρήστης και σχεδιάζουν τις εικόνες. Aλλά υπάρχουν και πολλές περιπτώσεις όπου ο υπολογισμός είναι τόσο χρονοβόρος ώστε άμεση παρουσίαση του αποτελέσματος και αλληλεπίδραση με τον χρήστη είναι πρακτικά αδύνατη. Π.χ. με μεθόδους ray tracing ή radiοsity παράγονται πολύ καλύτερα γραφικά από αυτά που δίνουν συνήθως οι μηχανές γραφικών αλλά είναι είναι αδύνατο να υλοποιηθούν σε πραγματικό χρόνο αφού ο υπολογισμός απαιτεί ώρες επεξεργασίας. Το αν μια εφαρμογή μπορεί να γίνει real time εξαρτάται μόνον από το πόσο γρήγορα μπορεί να επεξεργαστούν τα δεδομένα και να αποκριθεί ο υπολογιστής. Ο μηχανικός προφανώς εννοούσε ότι η visual basic είναι ακατάλληλη λόγω ταχύτητας και άλλων περιορισμών που δεν έχει η visual c++. Υπαρχουν αλλοι περιορισμοι στην visual basic εκτος της ταχυτητας για να τρεχει η εφαρμογη σε πραγματικο χρονο; Αν δεν υπαρχουν αλλοι περιορισμοι τοτε δεν μπορουμε να ειμαστε απολυτοι οτι η visual basic δεν μπορει να δημιουργησει τετοιες εφαρμογες διοτι μπορει μια εφαρμογη να τρεχει σε γρηγορο μηχανημα και να μην εχει τρελες απαιτησεις στον ογκο δεδομενων που πρεπει να υπολογιζει και στο output. Απο την αλλη πλευρα αν η εφαρμογη ειναι πολυ απαιτητικη σε υπολογισμους και εξοδο των δεδομενων σε πραγματικο χρονο τοτε μπορει και visual c++ να αδυνατει να ανταπεξελθει. Σιγουρα η visual c++ ειναι η καλυτερη επιλογη αναμεσα στις δυο. Τελικα ποσο γρηγοροτερη ειναι η visual c++ απο τη visual basic;
geo1st487 Δημοσ. 18 Μαΐου 2010 Μέλος Δημοσ. 18 Μαΐου 2010 Γενικά, real time εφαρμογή είναι αυτή που επεξεργάζεται δεδομένα και παρουσιάζει το αποτέλεσμα σε χρόνο που χρήστης μπορεί να αλληλεπιδράσει σχεδόν άμεσα με αυτό.Π.χ. ο μηχανικός μπορεί να κάνει προσομοίωση της ροής ενός ρευστού σε ένα σωλήνα : το πρόγραμμα κάνει τους υπολογισμούς και δείχνει άμεσα πώς κινείται το ρευστό. Ή μπορεί να κάνει προσομοίωση διάδοσης ενός Η/Μ κύματος σε ένα χώρο : το πρόγραμμα δείχνει άμεσα πώς διαδίδεται το κύμα και αλληλεπιδρά με τους σκεδαστές. Ή τα παιχνίδια που έχουν γραφικά : βασίζονται σε μηχανές γραφικών που επεξεργάζονται άμεσα τα δεδομένα που δίνει που δίνει ο χρήστης και σχεδιάζουν τις εικόνες. Aλλά υπάρχουν και πολλές περιπτώσεις όπου ο υπολογισμός είναι τόσο χρονοβόρος ώστε άμεση παρουσίαση του αποτελέσματος και αλληλεπίδραση με τον χρήστη είναι πρακτικά αδύνατη. Π.χ. με μεθόδους ray tracing ή radiοsity παράγονται πολύ καλύτερα γραφικά από αυτά που δίνουν συνήθως οι μηχανές γραφικών αλλά είναι είναι αδύνατο να υλοποιηθούν σε πραγματικό χρόνο αφού ο υπολογισμός απαιτεί ώρες επεξεργασίας. Το αν μια εφαρμογή μπορεί να γίνει real time εξαρτάται μόνον από το πόσο γρήγορα μπορεί να επεξεργαστούν τα δεδομένα και να αποκριθεί ο υπολογιστής. Ο μηχανικός προφανώς εννοούσε ότι η visual basic είναι ακατάλληλη λόγω ταχύτητας και άλλων περιορισμών που δεν έχει η visual c++. Υπαρχουν αλλοι περιορισμοι στην visual basic εκτος της ταχυτητας για να τρεχει η εφαρμογη σε πραγματικο χρονο; Αν δεν υπαρχουν αλλοι περιορισμοι τοτε δεν μπορουμε να ειμαστε απολυτοι οτι η visual basic δεν μπορει να δημιουργησει τετοιες εφαρμογες διοτι μπορει μια εφαρμογη να τρεχει σε γρηγορο μηχανημα και να μην εχει τρελες απαιτησεις στον ογκο δεδομενων που πρεπει να υπολογιζει και στο output. Απο την αλλη πλευρα αν η εφαρμογη ειναι πολυ απαιτητικη σε υπολογισμους και εξοδο των δεδομενων σε πραγματικο χρονο τοτε μπορει και visual c++ να αδυνατει να ανταπεξελθει. Σιγουρα η visual c++ ειναι η καλυτερη επιλογη αναμεσα στις δυο. Τελικα ποσο γρηγοροτερη ειναι η visual c++ απο τη visual basic;
the_eye Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Για realtime εφαρμογές πρέπει να πάμε σε γλώσσες χαμηλού επιπέδου (ποιο κοντά στο hardware). Αυτές είναι asembly και C. H visual basic δεν μπορεί να ανταπεξέλθει σε realtime, δοκίμασε να γεμίσεις έναν πίνακα 10000Χ10000 με τυχαίους αριθμούς. Θα κάνει μερικά λεπτά. Αν μάθεις να το κάνεις σε assembly θα το κάνει σε μsec. Ακόμα πέρα από το πόσο "ζόρικο" είναι αυτό που θα ζητηθεί είναι και πόσες φορές θα ζητηθεί. Παράδειγμα αν ζητηθεί μια πρόσθεση μόνο αλλά να γίνεται αυτό 1.000.000 ανά δευτερόλεπτο η VB δεν μπορεί να αντεπεξέλθει.
the_eye Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Για realtime εφαρμογές πρέπει να πάμε σε γλώσσες χαμηλού επιπέδου (ποιο κοντά στο hardware). Αυτές είναι asembly και C. H visual basic δεν μπορεί να ανταπεξέλθει σε realtime, δοκίμασε να γεμίσεις έναν πίνακα 10000Χ10000 με τυχαίους αριθμούς. Θα κάνει μερικά λεπτά. Αν μάθεις να το κάνεις σε assembly θα το κάνει σε μsec. Ακόμα πέρα από το πόσο "ζόρικο" είναι αυτό που θα ζητηθεί είναι και πόσες φορές θα ζητηθεί. Παράδειγμα αν ζητηθεί μια πρόσθεση μόνο αλλά να γίνεται αυτό 1.000.000 ανά δευτερόλεπτο η VB δεν μπορεί να αντεπεξέλθει.
cocoflop Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Εάν υπάρχει κρισιμότητα χρόνου, τότε απαιτείται και το κατάλληλο hardware για να προσφέρει καλές επιδόσεις (κανένα CPU τερατούργημα). Δηλαδή εάν η Python τρέξει σε κανένα Super Computer τότε σίγουρα θα είναι κατάλληλη και ταχύτατη. http://www.python.org/about/success/usa/ Επίσης εάν υπάρχει κρισιμότητα εκτέλεσης τότε σίγουρα θα χρησιμοποιηθεί και το κατάλληλο λειτουργικό σύστημα, κατά μεγάλη πιθανότητα, μια custom λύση. π.χ. Παίρνεις τα πολύ βασικά κομμάτια του Unix και καρφώνεις την εφαρμογή σου (καλό έ; ). Έτσι, δεν θα έχεις τίποτα παραπάνω εκτός από την εφαρμογή σου να τρέχει στο λειτουργικό σύστημα. Ούτε updates, ούτε media player, ούτε java virtual machine... 100% προβλεπόμενη λειτουργία. Από την άλλη, σκέπτομαι πως όλο το concept του real time είναι παλαιά νοοτροπία (πότε γεννήθηκε ο όρος; την δεκαετία του 50;) Οι επιστήμονες επινόησαν αυτόν τον όρο μέσω περιορισμών.
cocoflop Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Εάν υπάρχει κρισιμότητα χρόνου, τότε απαιτείται και το κατάλληλο hardware για να προσφέρει καλές επιδόσεις (κανένα CPU τερατούργημα). Δηλαδή εάν η Python τρέξει σε κανένα Super Computer τότε σίγουρα θα είναι κατάλληλη και ταχύτατη. http://www.python.org/about/success/usa/ Επίσης εάν υπάρχει κρισιμότητα εκτέλεσης τότε σίγουρα θα χρησιμοποιηθεί και το κατάλληλο λειτουργικό σύστημα, κατά μεγάλη πιθανότητα, μια custom λύση. π.χ. Παίρνεις τα πολύ βασικά κομμάτια του Unix και καρφώνεις την εφαρμογή σου (καλό έ; ). Έτσι, δεν θα έχεις τίποτα παραπάνω εκτός από την εφαρμογή σου να τρέχει στο λειτουργικό σύστημα. Ούτε updates, ούτε media player, ούτε java virtual machine... 100% προβλεπόμενη λειτουργία. Από την άλλη, σκέπτομαι πως όλο το concept του real time είναι παλαιά νοοτροπία (πότε γεννήθηκε ο όρος; την δεκαετία του 50;) Οι επιστήμονες επινόησαν αυτόν τον όρο μέσω περιορισμών.
Apoll Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Σε ποια VB αναφέρεται ο ποιητής; 6? ή .ΝΕΤ 10? Ανεξάρτητα από αυτό, η εφαρμογή αυτή που φτιάχνει ο τύπος, έχει δύο δρόμους α) κάθετε και την γράφει σε VC++ β) Χρησιμοποιεί CCR και DSS, οπότε δεν έχει σημασία η γλώσσα σε .ΝΕΤ περιβάλλον και θα του πάρει 1/3 του χρόνου για να την γράψει. Όσον αφορά τον 10000χ10000 πίνακα, κάνοντας threading δεν έχει σημασία αν θα είναι σε VB ή C# ή C++. Επίσης στο .ΝΕΤ Framework, όλος ο κώδικας κάνει compile στην ίδια γλώσσα μηχανής.
Apoll Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Σε ποια VB αναφέρεται ο ποιητής; 6? ή .ΝΕΤ 10? Ανεξάρτητα από αυτό, η εφαρμογή αυτή που φτιάχνει ο τύπος, έχει δύο δρόμους α) κάθετε και την γράφει σε VC++ β) Χρησιμοποιεί CCR και DSS, οπότε δεν έχει σημασία η γλώσσα σε .ΝΕΤ περιβάλλον και θα του πάρει 1/3 του χρόνου για να την γράψει. Όσον αφορά τον 10000χ10000 πίνακα, κάνοντας threading δεν έχει σημασία αν θα είναι σε VB ή C# ή C++. Επίσης στο .ΝΕΤ Framework, όλος ο κώδικας κάνει compile στην ίδια γλώσσα μηχανής.
kagelos Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Για realtime εφαρμογές πρέπει να πάμε σε γλώσσες χαμηλού επιπέδου (ποιο κοντά στο hardware). Αυτές είναι asembly και C. H visual basic δεν μπορεί να ανταπεξέλθει σε realtime, δοκίμασε να γεμίσεις έναν πίνακα 10000Χ10000 με τυχαίους αριθμούς. Θα κάνει μερικά λεπτά. Αν μάθεις να το κάνεις σε assembly θα το κάνει σε μsec. Ακόμα πέρα από το πόσο "ζόρικο" είναι αυτό που θα ζητηθεί είναι και πόσες φορές θα ζητηθεί. Παράδειγμα αν ζητηθεί μια πρόσθεση μόνο αλλά να γίνεται αυτό 1.000.000 ανά δευτερόλεπτο η VB δεν μπορεί να αντεπεξέλθει. Αν μιλάμε για VB.Net και .Net γενικότερα κάνεις πολύ μεγάλο λάθος. Επίσης η assembly δεν κάνει κάτι μαγικό που θα κάνει τον κώδικά σου να τρέχει πιο γρήγορα. Μάλιστα ένα πρόγραμμα σε C είναι σίγουρο σήμερα ότι θα είναι πιο γρήγορο από ότι να το γράψεις σε assembly, καθώς το optimize που κάνουν οι compilers δύσκολα το πετυχαίνει άνθρωπος (δεν μιλάμε για προγράμματα με 3 εντολές). Επιπλέον άλλες αριχτεκτονικές είναι optimized για C (PIC) και είναι πάλι γρηγορότερα τα προγράμματα από ότι σε assembly (με το χέρι). Τώρα για τους περιορισμούς της γλώσσας, αν χρειάζεται να γράψεις λογισμικό low-level, ενδεχομένως ούτε η C++ κάνει, καθώς δεν είναι αρκετά low level. Όταν πάμε σε πιο high level εφαρμογές (δηλ. εκτός από drivers και λειτουργικά συστήματα) δεν νομίζω ότι υπάρχει λόγος να γράφει κανείς πλέον σε C++. Θα αρχίσουν τώρα όλοι να φωνάζουν αλλά έτσι είναι. Μερικοί λόγοι : Τρομερά πολύπλοκο συντακτικό και περισσότερος κώδικας σε σχέση με πιο νέες γλώσσες. IDE με λιγότερα χαρακτηριστικά σε σχέση με γλώσσες όπως Java και .Net (δύσκολο debugging, ανύπαρκτο code completion κλπ) Μηδενικό run time type information Run time type unsafe Δεν έχει bound checking και memory management Δεν υπάρχει standard που να περιλαμβάνει πράγματα που σήμερα θεωρούνται δεδομένα (GUI, Network, Threading κλπ) Πολύ δύσκολο να γράφεις components (σε Windows π.χ. πρέπει είτε να πας σε COM ή να κάνεις πατέντες με τα DLL σου) και η λίστα συνεχίζεται ... Φυσικά δεν είναι χαζοί όλοι όσοι γράφουν τις εφαρμογές τους σε C++. Είναι μια γλώσσα με μεγάλη παράδοση και πάρα πολύ μεγάλο code base. Προσωπικά σε C# έχω φτιάξει (μεταξύ άλλων) ένα mini GIS/CAD και έχω δοκιμάσει σε διάφορα project πολλά χρονοβόρα πράγματα και έχω καταλήξει πως αν ο αλγόριθμος που χρησιμοποιείς είναι αποδοτικός, τότε δεν υπάρχει διαφορά ανάμεσα σε managed και unmanaged γλώσσες. Ρίξτε μια ματιά σε Hadoop και Lucene
kagelos Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Για realtime εφαρμογές πρέπει να πάμε σε γλώσσες χαμηλού επιπέδου (ποιο κοντά στο hardware). Αυτές είναι asembly και C. H visual basic δεν μπορεί να ανταπεξέλθει σε realtime, δοκίμασε να γεμίσεις έναν πίνακα 10000Χ10000 με τυχαίους αριθμούς. Θα κάνει μερικά λεπτά. Αν μάθεις να το κάνεις σε assembly θα το κάνει σε μsec. Ακόμα πέρα από το πόσο "ζόρικο" είναι αυτό που θα ζητηθεί είναι και πόσες φορές θα ζητηθεί. Παράδειγμα αν ζητηθεί μια πρόσθεση μόνο αλλά να γίνεται αυτό 1.000.000 ανά δευτερόλεπτο η VB δεν μπορεί να αντεπεξέλθει. Αν μιλάμε για VB.Net και .Net γενικότερα κάνεις πολύ μεγάλο λάθος. Επίσης η assembly δεν κάνει κάτι μαγικό που θα κάνει τον κώδικά σου να τρέχει πιο γρήγορα. Μάλιστα ένα πρόγραμμα σε C είναι σίγουρο σήμερα ότι θα είναι πιο γρήγορο από ότι να το γράψεις σε assembly, καθώς το optimize που κάνουν οι compilers δύσκολα το πετυχαίνει άνθρωπος (δεν μιλάμε για προγράμματα με 3 εντολές). Επιπλέον άλλες αριχτεκτονικές είναι optimized για C (PIC) και είναι πάλι γρηγορότερα τα προγράμματα από ότι σε assembly (με το χέρι). Τώρα για τους περιορισμούς της γλώσσας, αν χρειάζεται να γράψεις λογισμικό low-level, ενδεχομένως ούτε η C++ κάνει, καθώς δεν είναι αρκετά low level. Όταν πάμε σε πιο high level εφαρμογές (δηλ. εκτός από drivers και λειτουργικά συστήματα) δεν νομίζω ότι υπάρχει λόγος να γράφει κανείς πλέον σε C++. Θα αρχίσουν τώρα όλοι να φωνάζουν αλλά έτσι είναι. Μερικοί λόγοι : Τρομερά πολύπλοκο συντακτικό και περισσότερος κώδικας σε σχέση με πιο νέες γλώσσες. IDE με λιγότερα χαρακτηριστικά σε σχέση με γλώσσες όπως Java και .Net (δύσκολο debugging, ανύπαρκτο code completion κλπ) Μηδενικό run time type information Run time type unsafe Δεν έχει bound checking και memory management Δεν υπάρχει standard που να περιλαμβάνει πράγματα που σήμερα θεωρούνται δεδομένα (GUI, Network, Threading κλπ) Πολύ δύσκολο να γράφεις components (σε Windows π.χ. πρέπει είτε να πας σε COM ή να κάνεις πατέντες με τα DLL σου) και η λίστα συνεχίζεται ... Φυσικά δεν είναι χαζοί όλοι όσοι γράφουν τις εφαρμογές τους σε C++. Είναι μια γλώσσα με μεγάλη παράδοση και πάρα πολύ μεγάλο code base. Προσωπικά σε C# έχω φτιάξει (μεταξύ άλλων) ένα mini GIS/CAD και έχω δοκιμάσει σε διάφορα project πολλά χρονοβόρα πράγματα και έχω καταλήξει πως αν ο αλγόριθμος που χρησιμοποιείς είναι αποδοτικός, τότε δεν υπάρχει διαφορά ανάμεσα σε managed και unmanaged γλώσσες. Ρίξτε μια ματιά σε Hadoop και Lucene
NewProject Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Επίσης η assembly δεν κάνει κάτι μαγικό που θα κάνει τον κώδικά σου να τρέχει πιο γρήγορα. Μάλιστα ένα πρόγραμμα σε C είναι σίγουρο σήμερα ότι θα είναι πιο γρήγορο από ότι να το γράψεις σε assembly, καθώς το optimize που κάνουν οι compilers δύσκολα το πετυχαίνει άνθρωπος (δεν μιλάμε για προγράμματα με 3 εντολές). Επιπλέον άλλες αριχτεκτονικές είναι optimized για C (PIC) και είναι πάλι γρηγορότερα τα προγράμματα από ότι σε assembly (με το χέρι). Τώρα για τους περιορισμούς της γλώσσας, αν χρειάζεται να γράψεις λογισμικό low-level, ενδεχομένως ούτε η C++ κάνει, καθώς δεν είναι αρκετά low level. ναι αλλα δεν ειναι απαραιτητο να γραψεις ολο τον κωδικα σε assembly . Απλα μπορεις να κανεις optimize τα βασικοτερα κομματια ( αυτα που θα τρεχουν πιο συχνα ) αρα και σε μεγαλα project αυτος ο κωδικας δεν ξεπερναει τις 100-200 γραμμες ( υποθετω )
NewProject Δημοσ. 19 Μαΐου 2010 Δημοσ. 19 Μαΐου 2010 Επίσης η assembly δεν κάνει κάτι μαγικό που θα κάνει τον κώδικά σου να τρέχει πιο γρήγορα. Μάλιστα ένα πρόγραμμα σε C είναι σίγουρο σήμερα ότι θα είναι πιο γρήγορο από ότι να το γράψεις σε assembly, καθώς το optimize που κάνουν οι compilers δύσκολα το πετυχαίνει άνθρωπος (δεν μιλάμε για προγράμματα με 3 εντολές). Επιπλέον άλλες αριχτεκτονικές είναι optimized για C (PIC) και είναι πάλι γρηγορότερα τα προγράμματα από ότι σε assembly (με το χέρι). Τώρα για τους περιορισμούς της γλώσσας, αν χρειάζεται να γράψεις λογισμικό low-level, ενδεχομένως ούτε η C++ κάνει, καθώς δεν είναι αρκετά low level. ναι αλλα δεν ειναι απαραιτητο να γραψεις ολο τον κωδικα σε assembly . Απλα μπορεις να κανεις optimize τα βασικοτερα κομματια ( αυτα που θα τρεχουν πιο συχνα ) αρα και σε μεγαλα project αυτος ο κωδικας δεν ξεπερναει τις 100-200 γραμμες ( υποθετω )
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.