Native compilation for R functions
Le résumé fourni par la source
Programovací jazyk R je oblíbený nástroj matematiků a statistiků, kteří ho využívají pro náročné matematické operace a datovou analýzu. Kvůli tomu, že se ale jedná o vyšší programovací jazyk a lze ho spouštět pouze za pomocí AST nebo bytecode interpreteru, můžeme u něj počítat s menším výpočetním výkonem oproti nižším jazykům. Z toho důvodu vznikl projekt výzkumné skupiny PRL-PRG zvaný Rsh. Balíček Rsh se skládá ze dvou částí, nejdříve server, který překládá R bytecode do C, který nakonec nechá přeložit do binárního souboru. Druhá část toho balíčku je klient, který takto zkompilovaný kód může načíst a spustit. V rámci této diplomové práce si vysvětlíme jaké jsou základní struktury programovacího jazyka R, jak pracuje s bytecode, jaká je základní struktura projektu Rsh a následně si projdeme naší implementací tohoto překladače v jazyku C++. Na závěr otestujeme různé přístupy kompilace binárních kódu a to jak už rozdíl kompilátorů gcc a clang, tak i chování binárních souborů při kompilaci s různým nastavením. Výsledky našich pátrání nám ukázaly, že v kompilace s nastavením -O2 se zapnutým agresivním inliningem vykazuje nejlepší výsledky napříč měření rychlosti, velikosti a kompilačního času.
Ce résumé expose les affirmations des auteurs. BNTIC ne l’interprète pas comme une validation indépendante des résultats.