This repository contains the source code of the bachelor's thesis Benchmark comparison of Leptos to Leading JavaScript Web Frameworks.
The apps
folder contains the source code of the used web frameworks,
while the benchmark
folder contains the benchmark related code.
The services
folder contains the source code of the RealWorld API server.
NOTE: In the thesis, the term RealWorld is referred to as Conduit. The code was not adapted to reflect this change yet.
# Install pnpm
corepack enable
# Install dependencies
pnpm install
# Build the Docker image
pnpm build:docker
# Install the Playwright dependencies
pnpm --filter=benchmark-playwright exec playwright install
To execute the benchmark use the following command:
pnpm run benchmark
The benchmark script accepts the following arguments:
--app
Space-separated list of frameworks to benchmark. Default:app-leptos app-react app-angular app-vue realworld-leptos realworld-react realworld-angular realworld-vue
--repeat
Number of iterations to run the benchmark. Default:100
NOTE: For the
realworld-*
benchmarks you need to start the RealWorld API server first. You can do this by running the following command:pnpm start:api
Example to benchmark Leptos with 100 iterations:
pnpm start:api
pnpm run benchmark --app realworld-leptos --repeat 100
If you use this software for your research, please cite it as:
@masterthesis{candirBenchmarkComparisonLeptos2025,
type = {Bachelor's Thesis},
title = {Benchmark {{Comparison}} of {{Leptos}} to {{Leading JavaScript Web Frameworks}}},
author = {Candir, Salih and Benedikt, Dornauer},
year = {2025},
month = mar,
langid = {english},
school = {University of Innsbruck}
}