Historical results »
Source code »

Software Forge Performance Index

This webpage collects performance information about various hosted software development services. The reports are updated weekly, most recently on September 24, 2021 at 16:03 UTC, and were generated with Lighthouse . Patches welcome!

Disclaimer: This website is maintained by SourceHut.

Expand for details on methodology

We ran Lighthouse on Alpine Linux x86_64, with the following command line:

lighthouse <url> \
    --only-categories=performance,accessibility \
    --profile=desktop \
    --throttling.cpuSlowdownMultiplier=1

The desktop profile is used because it's rare that a developer is coding on a mobile device — and some forges have separate mobile sites, so a separate test suite would be warranted.

We left the throttling settings at the Lighthouse default, because it's less rare that a developer is tethered to their phone or working from a community with less privileged internet access. The simulated latency also helps to reduce the variable impact of real-world latency. Additionally, simulating a low-bandwidth connection helps to draw out the differences between services more clearly. This controls for network conditions; the same tests have been run from various datacenters with various degrees of favorability to each hosting provider with no discernible change in the results.

CPU throttling is disabled to offset the effects of not having a GPU available in our testing environment. If you run these tests locally, it is recommended that you remove this constraint.

The source code is available if you wish to run these benchmarks on your own system; it takes about an hour.

0–49 50–89 90–100

All performance results

Bitbucket Codeberg GitHub GitLab Pagure SourceHut
Browsing Git repositories
Summary page 0 0 0 0 0 0
Tree (best case) 0 0 0 0 0 0
Tree (worst case) 0 0 0 0 0 0
Log (best case) 0 0 0 0 0 0
Log (worst case) 0 0 0 0 0 0
Commit 0 0 0 0 0 0
Source file (best case) 0 0 0 0 0 0
Source file (worst case) 0 0 0 0 0 0
Blame (best case) 0 0 0 0 0 0
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 0 0 0 0 0 0
Search 0 0 0 0 0 0
Details and comments 0 0 0 0 0 0
Code review
Browsing patches 0 0 0 0 0 0
Patch discussion 0 0 0 0 0 0
Patch diff 0 0 0 0 0 0

Browsing Git repositories

Summary page

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr

Tree (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr

Tree (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket * n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub * n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
Notes

Log (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr

Log (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr

Commit

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr

Source file (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr

Source file (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr

Blame (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Notes

Browsing tickets/issues

Browsing

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr

Details and comments

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr

Code review

Browsing patches

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr

Patch discussion

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut n/an/a An error occured, see the log for more details. HTML JSON stderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Bitbucket * n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr
GitHub n/an/a An error occured, see the log for more details. HTML JSON stderr
GitLab n/an/a An error occured, see the log for more details. HTML JSON stderr
Pagure n/an/a An error occured, see the log for more details. HTML JSON stderr
SourceHut * n/an/a An error occured, see the log for more details. HTML JSON stderr
Notes