Optimizing large applications
Optimalizace rozsáhlých aplikací
diplomová práce (OBHÁJENO)

Zobrazit/ otevřít
Trvalý odkaz
http://hdl.handle.net/20.500.11956/52068Identifikátory
SIS: 129548
Kolekce
- Kvalifikační práce [11267]
Autor
Vedoucí práce
Oponent práce
Mareš, Martin
Fakulta / součást
Matematicko-fyzikální fakulta
Obor
Softwarové systémy
Katedra / ústav / klinika
Informatický ústav Univerzity Karlovy
Datum obhajoby
9. 9. 2013
Nakladatel
Univerzita Karlova, Matematicko-fyzikální fakultaJazyk
Angličtina
Známka
Výborně
Klíčová slova (česky)
překladač, optimalizace kódu, operační systémyKlíčová slova (anglicky)
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)