<?xml version="1.0"?>
<metadata xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dc="http://purl.org/dc/elements/1.1/"><dc:title>WebAssembly profilirnik za brskalnik</dc:title><dc:creator>Kosec Mikić,	Luka	(Avtor)
	</dc:creator><dc:creator>Poženel,	Marko	(Mentor)
	</dc:creator><dc:subject>WebAssembly</dc:subject><dc:subject>profiliranje</dc:subject><dc:subject>vzorčenje</dc:subject><dc:subject>inštrumentacija</dc:subject><dc:subject>plamenski graf</dc:subject><dc:subject>brskalniška razširitev</dc:subject><dc:subject>Chromium</dc:subject><dc:description>WebAssembly je postal pomembna izvedbena platforma za spletne aplikacije,
pri katerih je zmogljivost ključnega pomena. To diplomsko delo predstavlja
zasnovo in implementacijo profilirnika za programe WebAssembly, ki tečejo
v spletnih brskalnikih. Profilirnik je implementiran kot razširitev brskalnika
Manifest V3, dopolnjuje pa ga orodje v vsebniku Docker, ki se uporablja
za napredno simbolizacijo. Razviti sistem podpira dve tehniki profiliranja:
statistično vzorčenje prek protokola Chrome DevTools in inštrumentacijo
s pomočjo knjižnice Binaryen. Rezultati profiliranja so prikazani v obliki
dreves klicev in plamenskih grafov. Profilirnik izvaja tudi proces simbolizacije,
pri katerem se indeksi funkcij najprej preslikajo na imena, pridobljena iz
imenskega odseka (angl. section) WebAssembly, medtem ko se razhroščevalne
informacije DWARF uporabijo za obnovo izvornih imen funkcij in njihovih
lokacij znotraj izvornih datotek in vrstic.
Sistem je bil ocenjen z uporabo sintetičnega testnega programa, ki vsebuje
rekurzivne klice, pogosto izvajane funkcije in kratkotrajne funkcije. Rezultati
kažejo, da inštrumentacija beleži vse klice funkcij in zagotavlja natančno
število klicev, vendar povzroča dodatno režijsko obremenitev, sorazmerno
s številom inštrumentiranih klicev. Vzorčenje povzroča bistveno manjšo
dodatno obremenitev in ustvari strukturo klicev, primerljivo s tisto, ki jo
pridobimo s profilirnikom perf, vendar ne more zanesljivo zajeti kratkotrajnih
ali redko pojavljajočih se dogodkov ter ne zagotavlja natančnega števila
klicev. Razviti profilirnik omogoča vzorčenje, inštrumentacijo, simbolizacijo,
vizualizacijo s plamenskim grafom ter uvoz in izvoz profilov za aplikacije
WebAssembly, ki tečejo v brskalnikih na osnovi Chromiuma.</dc:description><dc:date>2026</dc:date><dc:date>2026-09-10 11:35:01</dc:date><dc:type>Diplomsko delo/naloga</dc:type><dc:identifier>187357</dc:identifier><dc:identifier>VisID: 38976</dc:identifier><dc:language>sl</dc:language></metadata>
