The speed of BASIC

clemenza

Retro Addict
Messages
952
Reaction score
1,331
Points
93
Τον τελευταίο καιρό ανέβασα στο blog μου μια σειρά από αναρτήσεις με θέμα τις επιδόσεις διαφόρων home computers της χρυσής εποχής - και όχι μόνο - στην γλώσσα BASIC, χρησιμοποιώντας ως μέτρο τα benchmarks του PCW - ξέρετε, εκείνα τα 8 των οποίων τα αποτελέσματα είχε στο τέλος κάθε review το Pixel, το Computer για Όλους, κλπ.

Για όσους τυχόν ενδιαφέρονται μπορείτε να τα διαβάσετε στα ακόλουθα links: 1ο μέρος, 2ο μέρος, 3ο μέρος, 4ο μέρος και 5ο μέρος.

19464
 

Always Somewhere

Retro Addict
Messages
988
Reaction score
1,954
Points
103
Διάβασα το πρώτο μέρος!

Πολύ ενδιαφέρον και με τις ρουτίνες (δομημένος προγραμματισμός, Καλά δεν το λέω; ) που έχεις γράψει ξαναθυμήθηκα και την θρυλική BASIC!

:thumbup:
 

dimfil

Retro Mentor
Messages
1,078
Reaction score
1,777
Points
123
Στο τέλος του 5ου μέρους βρίσκεται και το γενικό συμπέρασμα, όπως πολύ σωστά το έχει διατυπώσει ο Πάνος...
Όποιος δεν το αντιλαμβάνεται, μάλλον πρέπει να αναθεωρήσει τη σχέση του με τα home micros αλλά και τους υπολογιστές γενικότερα!
Αυτό, γιατί είδαν τα ματάκια μου κάτι "κουλά" σε μια σχετική συζήτηση...
 

geoanas

Commodore Vampire
Staff member
Messages
7,174
Reaction score
5,870
Points
223
Μπράβο σου!

Ακόμη δεν έχω αξιωθεί να το πιάσω από την αρχή και να το φτάσω στο τέλος αλλά είναι σίγουρο ότι θα το μελετήσω. Συγχαρητήρια για το θαυμάσιο συγκριτικό και για τον κόπο σου! Την BASIC πολλοί εμίσησαν λοιπόν ενώ άλλοι την λάτρεψαν...τρέχω για πολλά τελευταία αλλά για να βρούμε λοιπόν λίγο ρημαδι χρόνο και κυρίως ψυχική διάθεση για να μελετήσουμε το θέμα...
 

clemenza

Retro Addict
Messages
952
Reaction score
1,331
Points
93
Διάβασα το πρώτο μέρος!

Πολύ ενδιαφέρον και με τις ρουτίνες (δομημένος προγραμματισμός, Καλά δεν το λέω; ) που έχεις γράψει ξαναθυμήθηκα και την θρυλική BASIC!

:thumbup:
Σε ευχαριστώ, Βαγγέλη. Οι (υπο)ρουτίνες ναι, θεωρούνται δομημένος προγραμματισμός, αλλά εγώ προσωπικά δεν έχω βάλει καμία. Βλέπεις, ένας GOSUB-RETURN που υπάρχει είναι κομμάτι των benchmarks, δεν το έχω προσθέσει εγώ. Προσωπικά μόνο μερικές εντολές που μετρούν και παρουσιάσουν τον χρόνο εκτέλεσης έχω προσθέσει στα μοντέλα της Commodore που έχουν την μεταβλητή συστήματος-χρονόμετρο TI$...
 

clemenza

Retro Addict
Messages
952
Reaction score
1,331
Points
93
Μπράβο σου!

Ακόμη δεν έχω αξιωθεί να το πιάσω από την αρχή και να το φτάσω στο τέλος αλλά είναι σίγουρο ότι θα το μελετήσω. Συγχαρητήρια για το θαυμάσιο συγκριτικό και για τον κόπο σου! Την BASIC πολλοί εμίσησαν λοιπόν ενώ άλλοι την λάτρεψαν...τρέχω για πολλά τελευταία αλλά για να βρούμε λοιπόν λίγο ρημαδι χρόνο και κυρίως ψυχική διάθεση για να μελετήσουμε το θέμα...
Ελπίζω να είσαι καλά, φίλε μου και εσύ και η οικογένειά σου και κυρίως η σύζυγος που αναγκαστικά βρίσκεται σε πιο επικίνδυνο περιβάλλον. Αυτό έχει σημασία, όλα τα υπόλοιπα βρίσκονται...
 

clemenza

Retro Addict
Messages
952
Reaction score
1,331
Points
93
Στο τέλος του 5ου μέρους βρίσκεται και το γενικό συμπέρασμα, όπως πολύ σωστά το έχει διατυπώσει ο Πάνος...
Όποιος δεν το αντιλαμβάνεται, μάλλον πρέπει να αναθεωρήσει τη σχέση του με τα home micros αλλά και τους υπολογιστές γενικότερα!
Αυτό, γιατί είδαν τα ματάκια μου κάτι "κουλά" σε μια σχετική συζήτηση...
Ναι, ο Δημήτρης εννοεί αυτό που μπορεί τελικά να προκύψει ως συμπέρασμα παρατηρώντας τα αποτελέσματα ανά benchmark αλλά και συγκεντρωτικά, ότι δηλαδή κάποιοι υπολογιστές ήταν ταχύτατοι παρότι 8μπιτοι, κάποιοι πάναργοι παρότι πανάκριβοι, κάποιοι 16μπιτοι συγκρίσιμοι με 8μπιτους αν και στο hardware συνολικά ήταν η μέρα με τη νύχτα, και κάποιες διάλεκτοι BASIC στο ίδιο μηχάνημα να τα καταφέρνουν πολύ καλύτερα από άλλες. Συν το εντυπωσιακό της όλης ιστορίας ότι στα 8μπιτα της Commodore όσο πιο πλήρη BASIC έβαζαν τόσο πιο αργά πήγαιναν! :rofl:

Το ρεζουμέ φυσικά είναι ότι ναι μεν αρχιτεκτονικές, συχνότητες λειτουργίες και άλλα τεχνικά χαρακτηριστικά παίζουν ρόλο, αλλά ο πλέον σημαντικός παράγοντας είναι ο ίδιος ο BASIC interpreter, δηλαδή το πόσο έχει φτιαχτεί αυτός ο τελευταίος με γνώμονα (και) την ταχύτητα. Όποιος πιστεύει ας πούμε ότι επειδή ο 68000 του ST λειτουργούσε στα 8MHz αντί των 7,14ΜΗz της Amiga αυτό θα είχε αντίκτυπο στις επιδόσεις της BASIC - και μάλιστα μεγαλύτερο από την ίδια την διάλεκτο που χρησιμοποιείται - απλά πλανάται πλάνην οικτράν...
 

turrican

Retro Guru
Messages
2,687
Reaction score
2,418
Points
123
Καταπληκτικό! :thumbup::thumbup::thumbup::thumbup:

Benchmarks σε vintage μηχανήματα!!! :love:
Κανένας δε κάνει κάτι τέτοιο σήμερα! :love:

Με ποιο τρόπο Πάνο πήρες τους χρόνους;

Αρχικά να σου πω ότι το απόλαυσα, το άρθρο σου είναι εξαιρετικό. :love::love::love:



Πράγματι, η Basic του ZX-Spectrum ήταν, και είναι αργή!
Ήταν αρκετά πλήρης για τα "κυβικά" της, αλλά ήταν πάντα πολύ αργή!

Η αιτία αυτής της βραδύτητας είναι ίσως πολυπαραγοντική.
Μια πρώτη σκέψη είναι ότι δημιουργήθηκε αρχικά (όπως και αυτή του Atari XL) για πολύ μικρότερα μοντέλα των 16K. Είναι λογικό να μη κάνει καλή χρήση των πόρων (κυρίως της μνήμης) ώστε να πετύχει καλύτερες επιδόσεις.

Μια δεύτερη ιδέα, είναι ότι η Snclair Basic στερείται ακεραίων αριθμητικών μεταβλητών, και πιθανόν να χάνει χρόνο στις μετατροπές.


Η ZX-Spectrum 128 Basic, από την άλλη, είναι αρκετά καλύτερη, αλλά...ακόμη πιο αργή!

Είναι γεγονός (το είδες και εσύ) ότι οι πιο βελτιωμένες εκδόσεις δείχνουν να χάνουν ακόμη πιο πολύ σε ταχύτητα...

...Ίσως να μοιράζονται τον ίδιο πυρήνα με τις παλιότερες εκδόσεις, και αγκομαχούν στο έξτρα βάρος των πρόσθετων εντολών -συναρτήσεων.



Παρόλα αυτά, ομολογώ ξαφνιάστηκα, όταν είδα την BBC Basic να είναι τόσο κοντά στην ST Basic.
Η αιτία φρονώ ότι είναι επίσης πολυπαραγοντική. Θα μπορούσε μάλιστα να ισχυριστεί κάποιος υπέρμαχος της hardware υπεροχής, ότι όποια απόδοση χάθηκε εξαιτίας της κακής υλοποίησης της γλώσσας, καλύφθηκε από την ταχύτητα του Hardware, τερματίζοντας σχετικά κοντά σε πιο optimized δουλεμένες διαλέκτους.

Λιγάκι με προβλημάτισε και το τελικό σου συμπέρασμα, καθώς είμαι οπαδός της υπεροχής του Hardware.
"αν πετύχει η ωμή ισχύς, τύφλα να έχει το optimization... :p "



* Έχω την περιέργεια να δω τι αποτελέσματα θα έβγαζε ο ST με τη GFA BASIC, FAST BASIC, OMIKRON BASIC.




Τώρα που είπες για PCW ανέσυρα από το χρονοντούλαπο τη σχετική καταχώριση!
Ωραίο το θέμα, μπράβο σου!


bengs.jpg
 
Last edited:

dimfil

Retro Mentor
Messages
1,078
Reaction score
1,777
Points
123
Καταπληκτικό!

Benchmarks σε vintage μηχανήματα!!! :love:
Κανένας δε κάνει κάτι τέτοιο σήμερα! :love:

Με ποιο τρόπο Πάνο πήρες τους χρόνους;

Αρχικά να σου πω ότι το απόλαυσα, το άρθρο σου είναι εξαιρετικό. :love::love::love:



Πράγματι, η Basic του ZX-Spectrum ήταν, και είναι αργή!
Ήταν αρκετά πλήρης για τα "κυβικά" της, αλλά ήταν πάντα πολύ αργή!

Η αιτία αυτής της βραδύτητας είναι ίσως πολυπαραγοντική.
Μια πρώτη σκέψη είναι ότι δημιουργήθηκε αρχικά (όπως και αυτή του Atari XL) για πολύ μικρότερα μοντέλα των 16K. Είναι λογικό να μη κάνει καλή χρήση των πόρων (κυρίως της μνήμης) ώστε να πετύχει καλύτερες επιδόσεις.

Μια δεύτερη ιδέα, είναι ότι η Snclair Basic στερείται ακεραίων αριθμητικών μεταβλητών, και πιθανόν να χάνει χρόνο στις μετατροπές.


Η ZX-Spectrum 128 Basic, από την άλλη, είναι αρκετά καλύτερη, αλλά...ακόμη πιο αργή!

Είναι γεγονός (το είδες και εσύ) ότι οι πιο βελτιωμένες εκδόσεις δείχνουν να χάνουν ακόμη πιο πολύ σε ταχύτητα...

...Ίσως να μοιράζονται τον ίδιο πυρήνα με τις παλιότερες εκδόσεις, και αγκομαχούν στο έξτρα βάρος των πρόσθετων εντολών -συναρτήσεων.



Παρόλα αυτά, ομολογώ ξαφνιάστηκα, όταν είδα την BBC Basic να είναι τόσο κοντά στην ST Basic.
Η αιτία φρονώ ότι είναι επίσης πολυπαραγοντική. Θα μπορούσε μάλιστα να ισχυριστεί κάποιος υπέρμαχος της hardware υπεροχής, ότι όποια απόδοση χάθηκε εξαιτίας της κακής υλοποίησης της γλώσσας, καλύφθηκε από την ταχύτητα του Hardware, τερματίζοντας σχετικά κοντά σε πιο optimized δουλεμένες διαλέκτους.

Λιγάκι με προβλημάτισε και το τελικό σου συμπέρασμα, καθώς είμαι οπαδός της υπεροχής του Hardware.
"αν πετύχει η ωμή ισχύς, τύφλα να έχει το optimization... "



* Έχω την περιέργεια να δω τι αποτελέσματα θα έβγαζε ο ST με τη GFA BASIC, FAST BASIC, OMIKRON BASIC.




Τώρα που είπες για PCW ανέσυρα από το χρονοντούλαπο τη σχετική καταχώριση!
Ωραίο το θέμα, μπράβο σου!


View attachment 19467
Πιστεύω ότι ο interpeter της Basic σε κάθε μηχάνημα είναι που κάνει τις διαφορές στο μεγαλύτερο ποσοστό. Χαντακώνει ή αναδεικνύει τις hardware ικανότητες.
Η BBC Basic είναι τρανό παράδειγμα. Ό,τι καλύτερο έχω δει, και ας γίνεται κάπως "στριφνή" σε κάποια σημεία της. Βάζει κάτω οτιδήποτε άλλο στην κατηγορία και κοιτάει στα μάτια ισχυρότερα μηχανήματα, γιατί οι ικανότητές της σε πολλές περιπτώσεις είναι ισχυρότερες της διαφοράς ταχύτητας. Εδώ που τα λέμε, ήδη στα 16μιτα μηχανήματα η Basic δεν ήταν η πρώτη επιλογή για τον προγραμματισμό τους. Οπότε κατά μία έννοια δεν "αγχώθηκαν" και πολύ οι developers να βγάλουν αξιοπρεπείς εκδόσεις, πέραν από αυτών των λίγων που ήδη ανέφερε ο Πάνος.

Τη GFA Basic τη δημιούργησε ο ίδιος developer της Turbo Basic XL των 8μπιτων. Δεν έχω μετρήσεις, αλλά περιμένω συνεπώς να είναι ανάλογων ικανοτήτων!
 

turrican

Retro Guru
Messages
2,687
Reaction score
2,418
Points
123
H ποιότητα του intepreter, είναι το ένα σκέλος, και το άλλο είναι η ταχύτητα του hardware.
Το ενδιαφέρον ζήτημα που προκύπτει τώρα, είναι η μεταξύ τους ποσόστωση.

Μια διαφορετική ανάγνωση του τελικού συμπεράσματος είναι:
"Το γρήγορο μπορεί να πάει και αργά, αλλά το αργό δε θα πάει ποτέ γρήγορα".

Η BBC Basic με εξέπληξε, έπιασε το top της κλάσης. Δε γίνεται όμως να πάει πιο πάνω.
Η Atari Basic έπιασε πάτο! Όμως ο Atari ανήκει στην πιο πάνω κλάση, και μπορεί να πάει και πολύ γρηγορότερα.

Το πιο αξιόπιστο πείραμα βέβαια θα ήταν να τρέξει η ίδια ακριβώς γλώσσα σε διαφορετικές πλατφόρμες. Όμως αυτό είναι ανέφικτο.

Ένα μικρό πείραμα το έκανα: Έτρεξα στον STEEM ένα μεγάλο loop στην Atari BASIC (ρυθμίσεις standard μηχανήματος 8Mhz) και ύστερα αύξησα την ταχύτητα σταδιακά μέχρι τα 128 Mhz. Η ταχύτητα που αποκόμισα ήταν εμφανής. Η ίδια χάλια Basic μεταμορφώθηκε.

Δε θα πρέπει επίσης να ξεφύγει από το μικροσκόπιο μας (μιλάω γενικά και όχι για το PCW) ότι πολλές φορές οι γλώσσες κάνουν και χρήση του ειδικού hardware. Φανταστείτε μια Basic που υποστηρίζει τυχόν μαθηματικό συνεπεξεργαστή τι εκτίναξη θα είχε...
Ομοίως μια BASIC που εκμεταλλεύεται κάποιον Blitter, θα έχει ταχύτερη έξοδο στην οθόνη, και πάει λέγοντας.
 
Last edited:

dimfil

Retro Mentor
Messages
1,078
Reaction score
1,777
Points
123
Δεν ήθελα σε καμία περίπτωση να πω ότι δεν παίζει ρόλο η ταχύτητα του hardware!
Εκείνο που ήθελα να πω (και μάλλον δεν εξέφρασα σωστά) είναι ότι στα 8μπιτα, όπου και έχει μεγαλύτερη σημασία η Basic καθώς ήταν βασικό "αγαθό", βλέπουμε τεράστιες διαφορές σε παρόμοιο hardware λόγω υλοποίησης interpreter τον οποίο δεν μπορείς και να "ξεφορτωθείς" παρά μόνο (όπου είναι εφικτό) να τρέξεις μια άλλη έκδοση. Επιμένω στο παράδειγμα της Turbo Basic XL στα 8μπιτα Atari όπου είναι απολύτως αντιπροσωπευτικό αυτού που λέω.
Στα 16μπιτα, λίγο έως πολύ η ύπαρξη της Basic δεν ήταν πλέον βασικό ζητούμενο. Οι κατασκευάστριες εταιρείες σχεδόν σαν να μας έκαναν χάρη ή από αγγαρεία έδωσαν εκδόσεις της γλώσσας, και φυσικά οι εκδόσεις τρίτων εταιρειών είναι αυτές που δείχνουν τις ικανότητες των μηχανημάτων. Αλλά επιμένω στο ότι ήδη η Basic δεν ήταν το πρώτο "όπλο" συνεπώς δεν έχει μεγάλη βαρύτητα.

Ο BBC όχι, δεν μπορεί να πάει πιο ψηλά, αλλά δεν υπήρχε και λόγος άλλωστε! Αν κάποιος έπρεπε τότε να αγωνιά είναι οι 16μπιτοι που έπεσαν χαμηλά σε επιδόσεις σε αυτό τον τομέα!
 

clemenza

Retro Addict
Messages
952
Reaction score
1,331
Points
93
Καλοί μου φίλοι Δημήτρηδες (!). διάβασα με προσοχή τα όσα γράψατε και έχω να πω ότι τα συμπεράσματα στα οποία κατέληξα από τις δοκιμές που έκανα είναι αυτά στα οποία καταλήγει και ο dimfil. Σε μία εποχή που το βάρος έπεφτε στην BASIC η Acorn έδειξε τον δρόμο της ταχύτητας, της ποιότητας και των δυνατοτήτων, ενώ άλλες εταιρίες όπως π.χ. η Commodore, ακολουθώντας το δόγμα του Jack Tramiel "computers for the masses, not the classes" χρησιμοποίησαν (ξανά!) την BASIC που είχαν πάρει κοψοχρονιά από την Microsoft έναντι 10.000 δολαρίων πίσω στο 1976 ώστε να κρατήσουν χαμηλά development time και, κατά συνέπεια, τιμή. Οι διαφορές των δύο προσεγγίσεων είναι εμφανείς στα αποτελέσματα των benchmarks, έτσι, απλά!

Αυτό που αναφέρει ο Turrican για την ωμή δύναμη του hardware μπήκε σε ισχύ μονάχα όταν το hardware άρχισε να γίνεται φθηνότερο, και οι προγραμματιστές δεν χρειαζόταν να βγάζουν πια λαγούς απ' τα καπέλα τους. Την δεκαετία 1976-1985 όπου και μεσουράνησαν οι 8μπιτοι το hardware ήταν πανάκριβο, οπότε έπαιζε τεράστια σημασία το πώς θα το εκμεταλλευόταν ο εκάστοτε προγραμματιστής. Μην βλέπετε μονάχα τα διαφορετικά μηχανήματα ή τις διαφορετικές εκδόσεις BASIC: δείτε την διαφορά μεταξύ Oric Atmos και Oric-1, όπου έχουμε ακριβώς το ίδιο hardware αλλά και την ίδια BASIC, απλώς με διορθωμένα κάποια bugs στην περίπτωση του πρώτου. Λίγες αλλαγές έκαναν το μηχάνημα αρκετά ταχύτερο, πράγμα που σημαίνει ότι ο BASIC interpreter που είχε χρησιμοποιηθεί είχε αρκετά περιθώρια βελτιστοποίησης...

Γενικώς - και δυστυχώς, όπως το βλέπω εγώ - το ότι υπερισχύουν οι δυνατότητες του hardware απέναντι στον βέλτιστο κώδικα το βλέπουμε παντού στον 21ο αιώνα, όπου και το hardware είναι πάμφθηνο λόγω της μαζικότατης παραγωγής αλλά και υποχρεωνόμαστε σε συνεχείς αλλαγές λόγω του... καπιταλισμού! Πλέον, μπορεί μία ομάδα προγραμματιστών να δημιουργήσει μία εφαρμογή που κυριολεκτικά να σέρνεται, και απλά να απαιτήσει από τον χρήστη να αναβαθμίσει το hardware του! Πείτε με γέρο που το λέω, αλλά εκεί καταντήσαμε! Σκεφτείτε μονάχα τις παρακάτω - νομίζω ενδεικτικές - περιπτώσεις:

- τα Windows Vista όταν κυκλοφόρησαν ήταν βαριά κι ασήκωτα για το hardware που μέχρι τότε έτρεχε τα XP. Αφενός απέτυχαν, αφετέρου οδήγησαν σε μαζικές αναβαθμίσεις, αλλαγές εξοπλισμού κλπ. Όταν πλέον κυκλοφόρησαν τα Windows 7, άπαντες τα υποδέχτηκαν με ανοιχτές αγκάλες, αφού λειτουργούσαν ικανοποιητικότατα στο νέο hardware που είχαν πια προμηθευτεί. Λεπτομέρεια: στο ίδιο hardware που πια είχαν όλοι, ακόμη και τα Vista λειτουργούσαν μια χαρά!

- το Linux, μέχρι και το 2005 περίπου, αποτελούσε μία εξαιρετική απάντηση στις - κάποιες φορές παράλογες - απαιτήσεις σε hardware των Windows. Πλέον, κάτι τέτοιο κάθε άλλο παρά ισχύει στα μεγάλα distros. Δίνει όμως μια ιδέα η όλη ιστορία του τι θα μπορούσε να γίνει αν δινόταν μεγαλύτερη σημασία στην βελτιστοποίηση του κώδικα, είτε μιλάμε για λειτουργικό σύστημα είτε για κάποιο application (επαγγελματικό, demo, παιχνίδι κλπ.)

Στα 8μπιτα τώρα κάποιες παρατηρήσεις:

- η χρήση ακεραίων ως μεταβλητών (αν υποστηρίζεται αυτή η δυνατότητα) δεν βελτιώνει σώνει και καλά την ταχύτητα. Κλασσικό παράδειγμα η Commodore BASIC που έχει ακέραιες μεταβλητές (A%, π.χ.) αλλά οι πράξεις μεταξύ τους είναι πιο αργές από αυτές μεταξύ πραγματικών αριθμών!

- σε ορισμένες διαλέκτους οι πράξεις μεταξύ μεταβλητών και σταθερών ή μεταβλητών μονάχα είναι ταχύτερες από τις πράξεις μεταξύ σταθερών!

- η ύπαρξη μεγάλης ποσότητας RAM, ειδικά όταν μαζί με την ROM ξεπερνούν τα 64ΚΒ συνολικά, οδηγεί σε μείωση της ταχύτητας στα 8μπιτα και όχι σε αύξηση. Ο λόγος είναι ότι, επειδή οι 8μπιτοι επεξεργαστές δεν "βλέπουν" πάνω από τα 64KB, πρέπει να καταφεύγουν σε σελιδοποίηση για να έχουν πρόσβαση σε διαφορετικό block μνήμης κάθε φορά.

- κλασικό παράδειγμα του hardware power versus interpreter speed είναι η περίπτωση του ZX Spectrum Next: ναι, αν ανεβάσουμε την ταχύτητα της CPU από τα 3,5MHz στα 28MHz τότε η Sinclair BASIC γίνεται γρήγορη. Συγχαρητήρια! Μόνο που αυτά πρέπει να πάνε στους δημιουργούς της BBC BASIC (Sophie Wilson και λοιποί) παρά σε οποιονδήποτε άλλον!

Γενικώς, και ως κατακλείδα, βλέπουμε ότι όσο το hardware παραμένει σταθερό, οι προγραμματιστές το μαθαίνουν καλύτερα και βελτιστοποιούν τον κώδικά τους, επιτυγχάνοντας αποτελέσματα που αρχικά κανείς δεν φανταζόταν. Και δεν αναφέρομαι μονάχα στα 8 και 16bit μηχανήματα, δείτε τα παιχνίδια που κυκλοφόρησαν προς το τέλος της ζωής των Sony Playstation και PS2 και τις διαφορές που έχουν π.χ. με τους launch τίτλους: είναι, απλά, χαώδεις.
 
Last edited:

turrican

Retro Guru
Messages
2,687
Reaction score
2,418
Points
123
Από αυτά που είδα παιδιά, (το ξαναλέω) με εξέπληξε η BBC basic.
Βλέπω και τον Αρχιμήδη, και σκέφτομαι: Άριστο hardware, και η παραδοσιακή άριστη basic... μάλλον ο ιδανικότερος συνδυασμός...

Δε μπορεί να φύγει από το μυαλό μου η σκέψη, ότι οι παλιές BASIC φτιάχτηκαν για μηχανήματα με 4 ή 16 το πολύ kilobytes, με αποτέλεσμα να μη κάνουν καλή χρήση των πόρων.

...Βλέπουμε π.χ την Turbo-Basic XL που γράφτηκε για τα 8bit atari (και απογειώνει το μηχάνημα), ότι δε τρέχει σε μηχάνημα κάτω από 64K...


Με αφορμή την πολύ ωραία συζήτηση, διακρίνω και κάποιες ιδιαιτερότητες μιας και μιλάμε για τα 8bits.

Αρχικά αναρωτιέμαι αν οι νέες αναθεωρημένες γλώσσες, "πειράζουν" και τμήματα του λειτουργικού κερδίζοντας επιδόσεις.

Δεύτερον, όλες οι basic που ερχόντουσαν σε εκείνα τα μηχανήματα ήταν γραμμένες στις αργές ROM.
Σίγουρα δέσμευαν κάποιο τμήμα της RAM, αλλά φαντάζομαι ότι ο πυρήνας θα εκτελούνταν μέσω των αργών ROM.
Το λέω με επιφύλαξη, δε το γνωρίζω, μα πιστεύω ότι μια γλώσσα που έρχεται σε δισκέτα και αποθηκεύεται ολόκληρη στη γρήγορη RAM, θα αποκομίζει ίσως κάποιο κέρδος.
 
Last edited:

dimfil

Retro Mentor
Messages
1,078
Reaction score
1,777
Points
123
Από αυτά που είδα παιδιά, (το ξαναλέω) με εξέπληξε η BBC basic.
Βλέπω και τον Αρχιμήδη, και σκέφτομαι: Άριστο hardware, και η παραδοσιακή άριστη basic... μάλλον ο ιδανικότερος συνδυασμός...

Δε μπορεί να φύγει από το μυαλό μου η σκέψη, ότι οι παλιές BASIC φτιάχτηκαν για μηχανήματα με 4 ή 16 το πολύ kilobytes, με αποτέλεσμα να μη κάνουν καλή χρήση των πόρων.

...Βλέπουμε π.χ την Turbo-Basic XL που γράφτηκε για τα 8bit atari (και απογειώνει το μηχάνημα), ότι δε τρέχει σε μηχάνημα κάτω από 64K...


Με αφορμή την πολύ ωραία συζήτηση, διακρίνω και κάποιες ιδιαιτερότητες μιας και μιλάμε για τα 8bits.

Αρχικά αναρωτιέμαι αν οι νέες αναθεωρημένες γλώσσες, "πειράζουν" και τμήματα του λειτουργικού κερδίζοντας επιδόσεις.

Δεύτερον, όλες οι basic που ερχόντουσαν σε εκείνα τα μηχανήματα ήταν γραμμένες στις αργές ROM.
Σίγουρα δέσμευαν κάποιο τμήμα της RAM, αλλά φαντάζομαι ότι ο πυρήνας θα εκτελούνταν μέσω των αργών ROM.
Το λέω με επιφύλαξη, δε το γνωρίζω, μα πιστεύω ότι μια γλώσσα που έρχεται σε δισκέτα και αποθηκεύεται ολόκληρη στη γρήγορη RAM, θα αποκομίζει ίσως κάποιο κέρδος.
Δεν μπορώ να επιβεβαιώσω ή να διαψεύσω τις πιθανές διαφορές ανάλογα με τον τρόπο που "τρέχεις" την εναλλακτική Basic. Δεν έχω κάνει αντίστοιχες δοκιμές στα εκάστοτε μηχανήματα.
Μόνο για την Turbo Basic XL μπορώ να σου πω που χρησιμοποιώ συστηματικά στο χομπίστικο επίπεδο, και εκεί δεν υπάρχει διαφορά είτε τρέχεις την TBXL από δισκέτα, είτε από cartridge, είτε από cf στο SDX. Υπάρχει και έκδοση rom που προορίζεται για emulators, την έχω στον Altirra για ευκολία, και βλέπω και εκεί ίδιες επιδόσεις. Μου φαίνεται απολύτως λογικό καθώς ο interpreter φορτώνεται άπαξ στη μνήμη και πλέον το μέσο δεν χρειάζεται πια.
Εκτιμώ ότι κάτι ανάλογο συμβαίνει και σε άλλα μηχανήματα, στις αντίστοιχες εναλλακτικές εκδόσεις Basic, αλλά δεν μπορώ να το επιβεβαιώσω.
 

clemenza

Retro Addict
Messages
952
Reaction score
1,331
Points
93
Από αυτά που είδα παιδιά, (το ξαναλέω) με εξέπληξε η BBC basic.
Βλέπω και τον Αρχιμήδη, και σκέφτομαι: Άριστο hardware, και η παραδοσιακή άριστη basic... μάλλον ο ιδανικότερος συνδυασμός...
Μια από τα ίδια: συμφωνώ απόλυτα μαζί σου, Δημήτρη.

Δε μπορεί να φύγει από το μυαλό μου η σκέψη, ότι οι παλιές BASIC φτιάχτηκαν για μηχανήματα με 4 ή 16 το πολύ kilobytes, με αποτέλεσμα να μη κάνουν καλή χρήση των πόρων.
Αν δεις τι μπορείς να φτιάξεις στο 1Κ RAM του ΖΧ81 θα αλλάξεις γνώμη! :lol:

Το γεγονός είναι ότι δεν έδιναν μεγάλη σημασία στις επιδόσεις - τουλάχιστον όση στις δυνατότητες. Και είναι λογικό, αν το σκεφτείς: η BASIC προοριζόταν για τον απλό χρήστη ως επί το πλείστον. Εάν κάποιος ήθελε να "ξεζουμίσει" το μηχάνημα προφανώς αργά ή γρήγορα θα άρχιζε να πειραματίζεται με την assembly.

Δεύτερον, όλες οι basic που ερχόντουσαν σε εκείνα τα μηχανήματα ήταν γραμμένες στις αργές ROM.
Σίγουρα δέσμευαν κάποιο τμήμα της RAM, αλλά φαντάζομαι ότι ο πυρήνας θα εκτελούνταν μέσω των αργών ROM.
Το λέω με επιφύλαξη, δε το γνωρίζω, μα πιστεύω ότι μια γλώσσα που έρχεται σε δισκέτα και αποθηκεύεται ολόκληρη στη γρήγορη RAM, θα αποκομίζει ίσως κάποιο κέρδος.
Απ' ότι έχω διαπιστώσει, ανάλογα με το μηχάνημα και το πώς ήταν σχεδιασμένο, κάποιο/κάποια κομμάτια της ROM φορτώνονταν στην RAM (π.χ. το character set). Όπως πάντως έγραψε και ο Δημήτρης (dimfil) δεν νομίζω να παρατηρήσεις διαφορές απ' όπου κι αν τρέξεις την γλώσσα: και εγώ δοκίμασα την Simon's BASIC από το original cartridge του 1983, από σύγχρονο cartridge της τελευταίας 5ετίας και από disk image και τα αποτελέσματα είναι κάθε φορά ακριβώς τα ίδια (σέρνεται σαν σαλιγκάρι)...
 
Top