HiPErJiT: Ένας Just-in-Time μεταγλωττιστής για την Erlang - Καλλάς, Κωνσταντίνος (Εθνικό Μετσόβιο Πολυτεχνείο. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Τομέας Τεχνολογίας Πληροφορικής και Υπολογιστών, 2018)
Παρουσιάζουμε το HiPErJiT, ένα Just-in-Time μεταγλωττιστή για τη γλώσσα προγραμματισμού Erlang που χρησιμοποιεί δεδομένα καταγραφής και βασίζεται στο HiPE, το μεταγλωττιστή πηγαίου κώδικα της Erlang. Το HiPErJiT χρησιμοποιεί δεδομένα καταγραφής χρόνου εκτέλεσης για να αποφασίσει ποιές ενότητες κώδικα να μεταγλωττίσει σε πηγαίο κώδικα, ποίες συναρτήσεις να εξειδικεύσει με δυναμικές πληροφορίες τύπων και ποιές κλήσεις συναρτήσεων να ενσωματώσει. Το HiPErJiT είναι ενσωματωμένο στο σύστημα χρόνου εκτέλεσης της Erlang και υποστηρίζει τα χαρακτηριστικά της γλώσσας που είναι απαραίτητα για τις εφαρμογές της, όπως η φόρτωση καυτού κώδικα. Παρουσιάζουμε την αρχιτεκτονική του HiPErJiT, περιγράφουμε τις βελτιστοποιήσεις που εκτελεί και συγκρίνουμε την επίδοση του σε σχέση με το BEAM, το HiPE και το Pyrlang. Το HiPErJiT διπλασιάζει την ταχύτητα εκτέλεσης διάφορων προγραμμάτων σε σχέση με το BEAM και προσφέρει επιδόσεις παρόμοιες με το HiPE, παρά τα κόστη καταγραφής και μεταγλώττισης που έχει σε αντίθεση με ένα Ahead-of-Time μεταγλωττιστή.