izpis_h1_title_alt

Lastništvo objektov namesto avtomatskega čistilca pomnilnika med lenim izračunom
ID Bizjak, Niki (Avtor), ID Slivnik, Boštjan (Mentor) Več o mentorju... Povezava se odpre v novem oknu

.pdfPDF - Predstavitvena datoteka, prenos (760,94 KB)
MD5: 0C58DBBB2694A7D42DE3C4C43CB656B8

Izvleček
Pomnilnik je kljub uvedbi pomnilniške hierarhije še vedno najpočasnejši del računalniške arhitekture, zato je upravljanje z njim ključnega pomena pri hitrosti izvajanja programov. V zadnjih letih se predvsem na področju sistemskega programiranja vedno bolj uveljavlja programski jezik Rust, ki za čiščenje pomnilnika uporablja princip lastništva in izposoje, s katerima zna med prevajanjem zagotoviti predvidljivo in učinkovito sproščanje pomnilnika. V obsegu magistrskega dela nas zanima, ali je mogoče princip lastništva implementirati v len funkcijski programski jezik STG, ki se uporablja pri prevajanju jezika Haskell. V magistrskem delu implementiramo simulator STG stroja, v katerega dodamo analizo lastništva. Pri tem se izkaže, da s tem zelo omejimo delovanje jezika, saj onemogočimo deljenje objektov. Predstavimo dve rešitvi: globoko kloniranje objektov, za katerega se izkaže, da je zelo časovno in prostorsko potratno, in model lastništva, ki zahteva analizo premikov in izposoj. A izkaže se, da analize izposoj ni mogoče implementirati brez uvedbe bodisi dodatnih informacij o izračunanosti objektov bodisi neke oblike neučakanosti v len programski jezik.

Jezik:Slovenski jezik
Ključne besede:prevajalnik, nestroga semantika, len izračun, upravljanje s pomnilnikom, avtomatični čistilec pomnilnika, lastništvo objektov
Vrsta gradiva:Magistrsko delo/naloga
Organizacija:FRI - Fakulteta za računalništvo in informatiko
Leto izida:2024
PID:20.500.12556/RUL-162493 Povezava se odpre v novem oknu
Datum objave v RUL:24.09.2024
Število ogledov:29
Število prenosov:15
Metapodatki:XML RDF-CHPDL DC-XML DC-RDF
:
Kopiraj citat
Objavi na:Bookmark and Share

Sekundarni jezik

Jezik:Angleški jezik
Naslov:Ownership model instead of garbage collection during lazy evaluation
Izvleček:
Despite the introduction of memory hierarchy, memory still remains the slowest part of computer architecture, making its management crucial for program execution speed. In recent years, the Rust programming language has been gaining prominence, particularly in the field of systems programming, due to its use of ownership and borrowing models in memory management. This master thesis explores whether the ownership model can be implemented in the lazy functional programming language STG, which is used in the compilation of Haskell. We implement a simulator for the STG machine with ownership analysis. However, we find that this approach severely restricts the language’s functionality, as it prevents object sharing. We investigate two solutions: deep cloning of objects and a borrowing model. The former has previously been proven to be very time- and space-consuming, while the latter, as we demonstrate, cannot be implemented without additional information about object evaluation or introducing some form of eager evaluation.

Ključne besede:compiler, non-strict semantics, lazy evaluation, memory management, garbage collection, ownership model

Podobna dela

Podobna dela v RUL:
Podobna dela v drugih slovenskih zbirkah:

Nazaj