Encapsulation is a programming technique that helps developers keeping code readable and maintainable. However, encapsulation in modern object-oriented languages often causes significant runtime overhead. Developers must choose between clean encapsulated code or fast code. In the application domain of computer games, speed of execution is of utmost importance, which means that the choice between clean and fast usually is decided in favor of the latter. In this paper we discuss how encapsulation is embedded in the Casanova 2 game development language, and show how Casanova 2 allows developers to write encapsulated game code, which thanks to extensive optimization achieves at the same time high levels of performance. Furthermore, we show that the abstractions provided by Casanova so far cover no more than the tip of the iceberg: we document a further extension in the traditionally challenging domain of networking and show how the language can provide significant improvement in productivity.
High performance encapsulation and networking in Casanova 2
DI GIACOMO, FRANCESCO;ABBADI, MOHAMED;CORTESI, Agostino;
2017-01-01
Abstract
Encapsulation is a programming technique that helps developers keeping code readable and maintainable. However, encapsulation in modern object-oriented languages often causes significant runtime overhead. Developers must choose between clean encapsulated code or fast code. In the application domain of computer games, speed of execution is of utmost importance, which means that the choice between clean and fast usually is decided in favor of the latter. In this paper we discuss how encapsulation is embedded in the Casanova 2 game development language, and show how Casanova 2 allows developers to write encapsulated game code, which thanks to extensive optimization achieves at the same time high levels of performance. Furthermore, we show that the abstractions provided by Casanova so far cover no more than the tip of the iceberg: we document a further extension in the traditionally challenging domain of networking and show how the language can provide significant improvement in productivity.File | Dimensione | Formato | |
---|---|---|---|
High performance encapsulation and networking in Casanova 2.pdf
accesso aperto
Tipologia:
Documento in Pre-print
Licenza:
Accesso libero (no vincoli)
Dimensione
916.94 kB
Formato
Adobe PDF
|
916.94 kB | Adobe PDF | Visualizza/Apri |
1-s2.0-S1875952117300162-main.pdf
non disponibili
Descrizione: versione dell'editore
Tipologia:
Versione dell'editore
Licenza:
Accesso chiuso-personale
Dimensione
1.95 MB
Formato
Adobe PDF
|
1.95 MB | Adobe PDF | Visualizza/Apri |
I documenti in ARCA sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.