Ο Γάλλος μαθηματικός Fabrice Bellard, ο οποίος κάποτε ίδρυσε τα έργα QEMU και FFmpeg, και επίσης δημιούργησε τον ταχύτερο τύπο για τον υπολογισμό του pi και ανέπτυξε τη μορφή εικόνας
Υλοποίηση JavaScript
Το bench-v8 είναι μπροστά από τον κινητήρα
Εκτός από τη βιβλιοθήκη για την ενσωμάτωση του κινητήρα σε εφαρμογές, το έργο προσφέρει επίσης τον διερμηνέα qjs, ο οποίος μπορεί να χρησιμοποιηθεί για την εκτέλεση κώδικα JavaScript από τη γραμμή εντολών. Επιπλέον, ο μεταγλωττιστής qjsc είναι διαθέσιμος, ικανός να δημιουργεί αυτόνομα εκτελέσιμα αρχεία που δεν απαιτούν εξωτερικές εξαρτήσεις.
Κύρια χαρακτηριστικά γνωρίσματα:
- Συμπαγές και εύκολο να ενσωματωθεί σε άλλα έργα. Ο κώδικας περιλαμβάνει μόνο μερικά αρχεία C που δεν απαιτούν εξωτερικές εξαρτήσεις για τη δημιουργία. Η μεταγλωττισμένη απλή εφαρμογή διαρκεί περίπου 190 KB.
- Πολύ υψηλή απόδοση και χαμηλός χρόνος εκκίνησης. Η επιτυχία 56 χιλιάδων δοκιμών συμβατότητας ECMAScript διαρκεί περίπου 100 δευτερόλεπτα όταν εκτελείται σε έναν μόνο πυρήνα ενός τυπικού επιτραπέζιου υπολογιστή. Η προετοιμασία χρόνου εκτέλεσης διαρκεί λιγότερο από 300 μικροδευτερόλεπτα.
- Σχεδόν πλήρης υποστήριξη για την προδιαγραφή ES2019 και πλήρης υποστήριξη για το Παράρτημα Β, το οποίο ορίζει στοιχεία για συμβατότητα με παλαιότερες εφαρμογές Ιστού.
- Πλήρης επιτυχία όλων των δοκιμών από τη σουίτα δοκιμών ECMAScript.
- Υποστήριξη για τη μεταγλώττιση κώδικα Javascript σε εκτελέσιμα αρχεία χωρίς εξωτερικές εξαρτήσεις.
- Συλλέκτης απορριμμάτων με μέτρηση αναφοράς χωρίς κύκλο καθαρισμού, που επέτρεψε προβλέψιμη συμπεριφορά και μειωμένη κατανάλωση μνήμης.
- Ένα σύνολο επεκτάσεων για μαθηματικούς υπολογισμούς στη γλώσσα JavaScript.
- Ένα κέλυφος για την εκτέλεση κώδικα σε λειτουργία γραμμής εντολών που υποστηρίζει την επισήμανση κώδικα με βάση τα συμφραζόμενα.
- Μια συμπαγής τυπική βιβλιοθήκη με δεσμεύσεις πάνω από τη βιβλιοθήκη C.
Το έργο αναπτύσσει επίσης τρεις συνοδευτικές C-βιβλιοθήκες που εμπλέκονται στο QuickJS και είναι κατάλληλες για ξεχωριστή εφαρμογή:
- Το libregexp είναι μια γρήγορη υλοποίηση κανονικών εκφράσεων που είναι πλήρως συμβατή με την προδιαγραφή Javascript ES 2019.
- libunicode - μια συμπαγής βιβλιοθήκη για εργασία με Unicode.
- Το libbf είναι μια εφαρμογή αυθαίρετων πράξεων κινητής υποδιαστολής ακριβείας και υπερβατικών συναρτήσεων ακριβούς στρογγυλοποίησης.
Πηγή: opennet.ru