Zpět na mojí domovskou stránku…
Zde najdete přehled nápadů (tj. úpravy zadání jsou vítané) pro ročníkový projekt. Pokud Vás něco zaujalo, ozvěte se. A ozvěte se i pokud máte vlastní nápad, pokud mi bude téma blízké, rád se ho chopím.
Další inspiraci je možné najít též na katedrálním seznamu nebo podle toho, nad čím právě bádáme.
Všechny uvedené nápady cílí na klasické provedení ročníkového projektu a navazující bakalářské práce (tj. obvykle se do bakalářky píše o architektuře řešení, provede se změření rychlosti a porovnání s konkurencí apod.).
Benchmarkování Scaly, Javy a dalších jazyků nad JVM
Renaissance je sada benchmarků pro měření výkonu Javy (JVM). Cílem projektu by bylo rozšířit tuto sadu o další benchmarky: optimálně „osekáním" existující (open source) aplikace a její převedení do menšího benchmarku (který ale pořád reprezentuje realistickou práci).
HelenOS, tj. programování operačního systému
Tipy lze najít nejlépe mezi otevřenými tickety nebo na speciální stránce. Mezi zajímavá témata určitě patří rozšíření podpory Raspberry Pi, port DosBoxu nebo třeba ovladače pro USB zařízení. Pro náročnější pak vytvoření emulační vrstvy pro aplikace jiného operačního systému (tj. emulace např. FreeBSD syscallů nad HelenOSem). Podrobněji rozpracované jsou nápady z minulých ročníků GSoCu.
Rozšíření MSIMu
MSIM je náš emulátor MIPSové a RISC-V platformy, který věrně emuluje procesor a základní periferie. Bylo by ale fajn ho rozšířit o další zařízení, např. virtualizovanou síťovou kartu nebo jiné zařízení.
Pro náročné je pak přidání základní podpory pro PCI pass-through.
Cokoliv dalšího
- Věci související s měřením výkonnosti nebo systémového charakteru.
- C/C++, Java či Python (asi) určitě. C# spíše ne. Ostatní dle domluvy.
Unit testování výkonu
Unit testy ověřující, že dané funkce (metody) jsou dostatečně rychlé. Cílem je umět detekovat problémy s výkonem (rychlostí) stejně pohodlně a jednoduše jako lze detekovat problémy s funkčností (kontaktujte buď mě nebo Petra Tůmu).
Cílem projektu by bylo přidat framework pro spouštění podobných testů a jeho navázání na vhodnou databázi s předchozími výsledky, aby byl uživatel rychle informován o regresích.
Řešeno.
„Trufflový" překladač (interpretr) Pascalu
Graal/Truffle poskytuje rozhraní pro psaní překladačů, jejichž výstupem je (nepřímo) Javovský bajtkód. Kromě toho nabízí alternativní implementaci JIT (just-in-time) překladače uvnitř Javovského virtuálního stroje. V současnosti probíhají práce na implementaci překladače JavaScriptu, Ruby a R.
Cílem RP by bylo napsat základ překladače Pascalu, který by umožnil zkompilovat a spustit jednoduché Pascalovské programy. Pilotní verze nemusí podporovat veškeré obraty Pascalu. RP je pochopitelně možné rozšířit na bakalářskou práci – jak obvyklou implementační tak i více teoreticky zaměřenou, pokud by byl zájem hlouběji zkoumat optimalizace (předávané jako „nápovědu" pro JIT překladač).
Dokončen vč. obhajoby bakalářské práce, github.com/Aspect26/TrufflePascal.
PerfJavaDoc
Rozšíření JavaDocu informace o rychlosti jednotlivých metod.
Dokončen vč. obhajoby bakalářské práce, github.com/arahusky/performance_javadoc.