Optimizing large applications
Optimalizace rozsáhlých aplikací
diploma thesis (DEFENDED)
View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/52068Identifiers
Study Information System: 129548
Collections
- Kvalifikační práce [11242]
Author
Advisor
Referee
Mareš, Martin
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Computer Science Institute of Charles University
Date of defense
9. 9. 2013
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
English
Grade
Excellent
Keywords (Czech)
překladač, optimalizace kódu, operační systémyKeywords (English)
compiler, code optimization, operating systemOba hlavní open source překladače, GCC a LLVM, dnes dosahují stavu, kdy jsou schopny link-time optimalizovat velké aplikace. U rozsáhlých aplikací si nevystačíme jenom s klasickými měřítky výkonu jako je rychlost nebo paměťová náročnost. Zajímá nás typicky velikost kódu, doba studeného startu aplikace a podobně. Vývojáři těchto balíků tak často sahají k různým ad-hoc řešením, mezi které patří například utilita ElfHack, startování vlastních aplikaci pomocí předzavedené utility a dlopen, prelinking a různé nástroje pro přerovnání výsledného programu podle pořadí provádění funkcí. Práce si klade za cíl zmonitorovat dostupné techniky optimalizace, ocenit jejich účinnost a navrhnout nová řešení, postavená na platformě link-time optimalizací. Powered by TCPDF (www.tcpdf.org)
Both uppermost open source compilers, GCC and LLVM, are mature enough to link-time optimize large applications. In case of large applications, we must take into account, except standard speed efficiency and memory consumption, different aspects. We focus on size of the code, cold start-up time, etc. Developers of applications often come up with ad-hoc solutions such as Elfhack utility, start-up of an application via a pre-loading utility and dlopen; prelinking and variety of different tools that reorder functions to fit the order of execution. The goal of the thesis is to analyse all existing techniques of optimization, evaluate their efficiency and design new solutions based on the link-time optimization platform. Powered by TCPDF (www.tcpdf.org)