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 December 15, 2023 at 15:02 UTC, and were generated with Lighthouse 6.3.0. Patches welcome!

Disclaimer: This website is maintained by SourceHut.

Expand for details on methodology

We ran Lighthouse 6.3.0 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 12 96 82 52 78 100
Tree (best case) 13 83 66 55 93 100
Tree (worst case) 9 0 58 31 50 97
Log (best case) 22 80 77 57 75 100
Log (worst case) 21 0 81 58 0 100
Commit 20 81 79 60 75 100
Source file (best case) 0 65 44 54 75 100
Source file (worst case) 0 5 37 51 33 100
Blame (best case) 49 41 37 61 44 100
Blame (worst case) 0 0 n/a 47 0 0
Browsing tickets/issues
Browsing 54 82 81 37 76 100
Search 56 84 86 35 78 100
Details and comments 53 38 63 32 72 100
Code review
Browsing patches 0 87 85 56 78 100
Patch discussion 16 85 55 33 38 98
Patch diff 16 76 69 30 50 99

Browsing Git repositories

Summary page

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 34 KiB 100 100 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 10 requests 517 KiB 96 78 2.9 s 1.8 s 1.8 s 3.9 s 4.2 s 90 ms HTMLJSONstderr
GitHub 109 requests 981 KiB 82 98 4.6 s 2.7 s 2.7 s 6.2 s 6.7 s 110 ms HTMLJSONstderr
Pagure 20 requests 721 KiB 78 67 2.5 s 2.1 s 4.0 s 4.0 s 4.0 s 20 ms HTMLJSONstderr
GitLab 61 requests 1893 KiB 52 86 5.9 s 1.8 s 1.8 s 1.8 s 11.9 s 300 ms HTMLJSONstderr
Bitbucket 59 requests 2103 KiB 12 100 10.5 s 10.1 s 11.4 s 11.4 s 14.2 s 700 ms HTMLJSONstderr

Tree (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 33 KiB 100 94 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Pagure 19 requests 519 KiB 93 96 2.2 s 2.0 s 2.7 s 2.7 s 2.7 s 20 ms HTMLJSONstderr
Codeberg 10 requests 499 KiB 83 86 29.9 s 1.7 s 1.7 s 3.6 s 3.9 s 80 ms HTMLJSONstderr
GitHub 110 requests 1085 KiB 66 100 5.5 s 2.5 s 2.5 s 2.5 s 8.4 s 200 ms HTMLJSONstderr
GitLab 58 requests 1873 KiB 55 91 5.5 s 1.7 s 3.6 s 3.6 s 11.2 s 410 ms HTMLJSONstderr
Bitbucket 58 requests 2099 KiB 13 100 10.6 s 10.0 s 11.5 s 11.5 s 14.1 s 660 ms HTMLJSONstderr

Tree (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 86 KiB 97 ? 4.2 s 1.4 s 1.4 s 1.4 s 1.5 s 100 ms HTMLJSONstderr
GitHub * 110 requests 1097 KiB 58 100 5.4 s 2.6 s 2.6 s 8.5 s 9.4 s 450 ms HTMLJSONstderr
Pagure 19 requests 1252 KiB 50 96 6.1 s 6.1 s 6.6 s 6.6 s 6.6 s 20 ms HTMLJSONstderr
GitLab 67 requests 1949 KiB 31 91 3.4 s 1.7 s 3.6 s 3.6 s 15.3 s 710 ms HTMLJSONstderr
Bitbucket * 59 requests 2112 KiB 9 100 11.0 s 10.1 s 11.5 s 11.5 s 14.3 s 730 ms HTMLJSONstderr
Codeberg n/an/a Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: 502) HTML JSON stderr
Notes

Log (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 38 KiB 100 ? 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 15 requests 900 KiB 80 78 11.0 s 2.1 s 2.1 s 4.1 s 4.4 s 120 ms HTMLJSONstderr
GitHub 88 requests 877 KiB 77 100 3.4 s 2.7 s 2.7 s 6.2 s 6.5 s 140 ms HTMLJSONstderr
Pagure 69 requests 693 KiB 75 78 3.6 s 3.6 s 4.3 s 4.3 s 4.3 s 20 ms HTMLJSONstderr
GitLab 54 requests 1701 KiB 57 88 5.7 s 1.9 s 1.9 s 1.9 s 10.6 s 330 ms HTMLJSONstderr
Bitbucket 44 requests 1760 KiB 22 100 10.6 s 10.3 s 10.5 s 10.5 s 12.2 s 450 ms HTMLJSONstderr

Log (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 43 KiB 100 ? 1.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 94 requests 904 KiB 81 100 3.5 s 2.7 s 2.7 s 6.6 s 7.3 s 280 ms HTMLJSONstderr
GitLab 73 requests 1717 KiB 58 91 5.6 s 1.9 s 1.9 s 1.9 s 10.4 s 240 ms HTMLJSONstderr
Bitbucket 46 requests 1758 KiB 21 98 10.5 s 10.0 s 10.2 s 10.2 s 11.7 s 430 ms HTMLJSONstderr
Codeberg n/an/a Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: 502) HTML JSON stderr
Pagure n/an/a The page provided is not HTML (served as MIME type ). HTML JSON stderr

Commit

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 36 KiB 100 83 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 11 requests 730 KiB 81 78 8.2 s 2.2 s 2.2 s 4.3 s 4.9 s 90 ms HTMLJSONstderr
GitHub 88 requests 881 KiB 79 100 3.9 s 2.7 s 2.7 s 6.3 s 6.7 s 170 ms HTMLJSONstderr
Pagure 24 requests 797 KiB 75 72 2.9 s 2.2 s 3.5 s 5.3 s 5.6 s 140 ms HTMLJSONstderr
GitLab 51 requests 1823 KiB 60 93 3.8 s 1.7 s 3.7 s 3.7 s 11.6 s 300 ms HTMLJSONstderr
Bitbucket 60 requests 3409 KiB 20 ? 12.6 s 10.4 s 15.2 s 15.2 s 19.1 s 460 ms HTMLJSONstderr

Source file (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 5 requests 57 KiB 100 94 1.8 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
Pagure 22 requests 906 KiB 75 94 3.3 s 2.6 s 5.1 s 5.1 s 5.1 s 190 ms HTMLJSONstderr
Codeberg 9 requests 779 KiB 65 83 39.1 s 3.4 s 3.4 s 5.6 s 5.8 s 90 ms HTMLJSONstderr
GitLab 59 requests 2570 KiB 54 94 4.4 s 1.7 s 3.5 s 3.5 s 10.8 s 340 ms HTMLJSONstderr
GitHub 100 requests 1029 KiB 44 100 7.2 s 3.1 s 3.1 s 7.9 s 8.2 s 370 ms HTMLJSONstderr
Bitbucket 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 5 requests 39 KiB 100 94 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitLab 58 requests 2684 KiB 51 94 4.4 s 1.7 s 3.5 s 3.5 s 10.8 s 330 ms HTMLJSONstderr
GitHub 100 requests 1193 KiB 37 100 6.9 s 3.4 s 3.4 s 8.7 s 9.4 s 550 ms HTMLJSONstderr
Pagure 20 requests 1176 KiB 33 ? 9.5 s 5.3 s 6.9 s 7.6 s 7.6 s 1,200 ms HTMLJSONstderr
Codeberg 9 requests 5032 KiB 5 ? 25.0 s 25.0 s 25.0 s 29.3 s 29.5 s 1,710 ms HTMLJSONstderr
Bitbucket 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
SourceHut 5 requests 65 KiB 100 94 2.6 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitLab 36 requests 1664 KiB 61 94 3.9 s 1.8 s 1.8 s 1.8 s 10.4 s 320 ms HTMLJSONstderr
Bitbucket 32 requests 25517 KiB 49 85 39.4 s 2.9 s 3.1 s 5.6 s 128.4 s 400 ms HTMLJSONstderr
Pagure 21 requests 1220 KiB 44 83 8.3 s 4.6 s 5.2 s 6.6 s 6.9 s 560 ms HTMLJSONstderr
Codeberg 14 requests 1538 KiB 41 83 5.8 s 5.7 s 5.8 s 8.2 s 8.8 s 400 ms HTMLJSONstderr
GitHub 113 requests 1084 KiB 37 100 7.0 s 2.7 s 2.7 s 2.7 s 9.1 s 770 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
GitLab 36 requests 1700 KiB 47 96 19.9 s 2.0 s 2.0 s 2.0 s 10.6 s 300 ms HTMLJSONstderr
Bitbucket n/an/a Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: 500) HTML JSON stderr
Codeberg 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 The page provided is not HTML (served as MIME type ). HTML JSON stderr
Notes

Browsing tickets/issues

Browsing

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 36 KiB 100 89 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 29 requests 2092 KiB 82 78 3.9 s 3.1 s 3.1 s 5.4 s 5.7 s 250 ms HTMLJSONstderr
GitHub 77 requests 827 KiB 81 100 4.3 s 2.5 s 2.5 s 6.3 s 6.8 s 180 ms HTMLJSONstderr
Pagure 21 requests 630 KiB 76 80 4.3 s 3.0 s 3.6 s 3.6 s 3.6 s 50 ms HTMLJSONstderr
Bitbucket 28 requests 672 KiB 54 92 6.0 s 5.3 s 5.3 s 5.9 s 6.1 s 140 ms HTMLJSONstderr
GitLab 60 requests 1940 KiB 37 96 5.7 s 1.6 s 4.0 s 4.0 s 12.5 s 550 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 36 KiB 100 89 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 77 requests 828 KiB 86 98 4.5 s 2.5 s 2.5 s 5.8 s 6.2 s 200 ms HTMLJSONstderr
Codeberg 29 requests 2092 KiB 84 78 3.3 s 2.7 s 2.7 s 5.0 s 5.3 s 240 ms HTMLJSONstderr
Pagure 20 requests 619 KiB 78 80 4.1 s 3.0 s 3.6 s 3.6 s 3.6 s 30 ms HTMLJSONstderr
Bitbucket 28 requests 672 KiB 56 92 5.5 s 5.2 s 5.2 s 5.9 s 6.0 s 140 ms HTMLJSONstderr
GitLab 63 requests 1948 KiB 35 90 6.0 s 1.7 s 4.1 s 4.1 s 12.7 s 600 ms HTMLJSONstderr

Details and comments

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 49 KiB 100 91 2.3 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
Pagure 40 requests 3540 KiB 72 87 2.6 s 2.5 s 3.7 s 3.7 s 3.7 s 40 ms HTMLJSONstderr
GitHub 103 requests 1050 KiB 63 94 6.2 s 3.2 s 3.2 s 6.7 s 7.5 s 190 ms HTMLJSONstderr
Bitbucket 29 requests 673 KiB 53 92 5.9 s 5.4 s 5.4 s 6.2 s 6.2 s 130 ms HTMLJSONstderr
Codeberg 38 requests 2475 KiB 38 78 14.1 s 5.8 s 5.9 s 8.3 s 10.2 s 280 ms HTMLJSONstderr
GitLab 103 requests 2829 KiB 32 88 5.2 s 1.9 s 1.9 s 1.9 s 16.6 s 630 ms HTMLJSONstderr

Code review

Browsing patches

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 34 KiB 100 83 1.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 29 requests 2142 KiB 87 78 3.4 s 2.8 s 2.8 s 5.0 s 5.3 s 190 ms HTMLJSONstderr
GitHub 77 requests 826 KiB 85 98 4.2 s 2.5 s 2.5 s 5.9 s 6.5 s 120 ms HTMLJSONstderr
Pagure 18 requests 575 KiB 78 82 4.5 s 3.2 s 3.2 s 3.2 s 3.2 s 40 ms HTMLJSONstderr
GitLab 55 requests 1865 KiB 56 86 6.3 s 1.8 s 1.8 s 1.8 s 11.7 s 220 ms HTMLJSONstderr
Bitbucket n/an/a Lighthouse was unable to reliably load the page you requested. Make sure you are testing the correct URL and that the server is properly responding to all requests. (Status code: 404) HTML JSON stderr

Patch discussion

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 83 KiB 98 ? 3.4 s 1.4 s 1.4 s 1.4 s 1.4 s 20 ms HTMLJSONstderr
Codeberg 14 requests 1179 KiB 85 76 4.8 s 2.6 s 2.6 s 4.8 s 5.4 s 150 ms HTMLJSONstderr
GitHub 109 requests 1090 KiB 55 100 7.1 s 3.1 s 3.1 s 7.2 s 8.0 s 210 ms HTMLJSONstderr
Pagure 40 requests 3909 KiB 38 85 31.0 s 4.4 s 5.0 s 5.0 s 21.7 s 90 ms HTMLJSONstderr
GitLab 93 requests 2543 KiB 33 90 7.5 s 1.9 s 3.6 s 3.6 s 15.3 s 330 ms HTMLJSONstderr
Bitbucket 110 requests 4197 KiB 16 ? 11.7 s 2.1 s 2.1 s 2.1 s 26.4 s 880 ms HTMLJSONstderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut * 4 requests 83 KiB 99 ? 3.4 s 1.4 s 1.4 s 1.4 s 1.4 s 20 ms HTMLJSONstderr
Codeberg 11 requests 953 KiB 76 72 4.5 s 3.3 s 3.3 s 5.7 s 5.7 s 90 ms HTMLJSONstderr
GitHub 102 requests 983 KiB 69 99 6.0 s 2.8 s 2.8 s 7.1 s 7.7 s 210 ms HTMLJSONstderr
Pagure 40 requests 3909 KiB 50 85 12.1 s 4.7 s 4.7 s 4.7 s 4.8 s 80 ms HTMLJSONstderr
GitLab 86 requests 2436 KiB 30 88 11.4 s 1.9 s 4.9 s 4.9 s 13.9 s 480 ms HTMLJSONstderr
Bitbucket * 109 requests 4197 KiB 16 ? 12.0 s 2.1 s 2.1 s 5.4 s 26.5 s 870 ms HTMLJSONstderr
Notes