Form of studies |
Bachelor |
Title of the study programm |
Computer Systems |
Title in original language |
Rust valodas analīze paralēlās un asinhronās programmēšanas kontekstā |
Title in English |
Analysis of Rust Language in the Context of Parallel and Asynchronous Programming |
Department |
Faculty Of Computer Science Information Tehnology And Energy |
Scientific advisor |
Pāvels Rusakovs |
Reviewer |
David Griberman |
Abstract |
1. Tips
Asinhronās un paralēlās programmēšanas paņēmieni/veidi tiek plaši izmantoti
visu veidu programmās, lai uzlabotu veiktspēju, atsaucīgumu, latentumu u.c.
programmas īpašības un Rust ir viena no tām valodām, kam ir lielisks atbalsts abiem
šiem veidiem. Par cik šī valoda ir relatīvi jauna un unikāla savos aspektos
(Īpašumtiesību un aizņemšanās sistēma), nepieciešams dziļāk izpētīt valodas darbību
šajos kontekstos.
Darba mērķis - Bakalaura darba mērķis ir analizēt Rust valodas darbību
asinhronās programmēšanas un vairākpavedienošanas, kas iekļauj gan paralēlo, gan
laiksakritīgo programmēšanu kontekstā, un salīdzināt to ar citu valodu tādā pašā
kontekstā.
Darbā tiek aplūkoti abi programmēšanas veidi, kāpēc tie tiek izmantoti, to
pielietojuma gadījumi, kā arī aplūkota Rust valoda šajā kontekstā. Lai veiksmīgi
izstrādātu šo pētījumu nepieciešams izveidot testpiemērus, kuros tiek implementēti šie
paņēmieni un analizēta valodas darbību atmiņas lietojumā, veiktspējā, lietošanas
vienkāršībā, drošībā un mērogojamībā.
Darbā ietvertas vairākas implementācijas paralēlai programmēšanai – kārtošana
un matricu reizināšana, un asinhronai programmēšanai – simulēta failu ielāde ar citiem
uzdevumiem. Risinājumi izveidoti ar Rust valodas “rayon” bibliotēku un Tokio
izpildlaiku priekš paralēlām un asinhronām implementācijām, un C++ valodā tie tika
aizgūti no eksistējošām implementācijām.
Bakalaura darbs sastāv no 61 lappuses, 26 attēliem, 4 tabulām, 2 pielikumiem
un izmantoto avotu skaits ir 22. |
Keywords |
Rust, asinhronā un paralēlā programmēšana, pavedieni, vairākpavedienošana, asinhronisms, Tokio, rayon |
Keywords in English |
Rust, asynchronous and parallel programming, threads, multi-threading, asynchrony, Tokio, rayon |
Language |
lv |
Year |
2023 |
Date and time of uploading |
28.05.2023 18:44:50 |