Skip to content

Comprehensive benchmark comparison of popular frontend frameworks, including Next.js, Nuxt, Angular, and Svelte.

License

Notifications You must be signed in to change notification settings

avi-2-avi/frontend-tdp-benchmark

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frontend Benchmark - TDP

Overview

This repository contains a comprehensive benchmark comparison of four popular frontend frameworks: Next.js, Nuxt, Angular, and Svelte. The benchmark evaluates the performance of a standardized project implemented in each framework by measuring key performance indicators such as Speed Index (initial load), response time, and FPS (frames per second).

IMPORTANT WARNING (PLEASE READ)

WARNING: This benchmark includes tests that involve fast-changing colors. If you have epilepsy or any other condition that could be triggered by rapidly flashing visuals, please proceed with caution or avoid running the tests.

Table of Contents

Project Structure

The repository is organized as follows:

frontend-benchmark/
│
├── nextjs-proj/
│   └── (Next.js project files)
├── nuxt-proj/
│   └── (Nuxt project files)
├── angular-proj/
│   └── (Angular project files)
├── svelte-proj/
│   └── (Svelte project files)
│
├── README.md
└── LICENSE

Installation

To set up the projects and run the benchmarks, follow these steps:

  1. Clone the repository:

    git clone https://github.com/avi-2-avi/frontend-tdp-benchmark.git
    cd frontend-tdp-benchmark
  2. Install dependencies for each project:

    cd nextjs-proj
    npm install
    cd ../nuxt-proj
    npm install
    cd ../angular-proj
    npm install
    cd ../svelte-proj
    npm install

Usage

To run the benchmarks, navigate to each individual project and execute it. Make sure you have Node.js and npm installed on your machine.

  1. Navigate to the project directory, for example:

    cd nextjs-proj
  2. Run the benchmark:

    npm run dev

This will execute the tests for each framework and collect data on Speed Index, response time, and FPS.

Benchmark Metrics

The benchmark focuses on three main metrics to evaluate performance:

Speed Index (Initial Load)

Speed Index measures how quickly the contents of a page are visibly populated. Lower values indicate better performance.

Response Time

Response time measures the time taken for the application to respond to user interactions. This metric is crucial for assessing the responsiveness of the application.

FPS (Frames Per Second)

FPS measures the rendering performance during animations and user interactions. Higher FPS values indicate smoother performance.

Results

Each framework's performance has been documented and compared, obtaining the following performance results, from most to least performant:

  1. Svelte
  2. Next.js
  3. Nuxt
  4. Angular

Contributing

Contributions are welcome! If you would like to improve the benchmarks or add new features, please fork the repository and create a pull request.

License

This project is licensed under the GNU License. See the LICENSE file for details.

About

Comprehensive benchmark comparison of popular frontend frameworks, including Next.js, Nuxt, Angular, and Svelte.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published