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 October 15, 2021 at 15:04 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 83 87 60 74 100
Tree (best case) 19 66 87 68 83 100
Tree (worst case) 8 29 65 0 48 92
Log (best case) 19 65 88 71 58 100
Log (worst case) 17 58 85 75 0 100
Commit 44 57 92 56 60 99
Source file (best case) 0 50 82 56 58 100
Source file (worst case) 0 10 27 28 15 67
Blame (best case) 38 42 90 59 23 99
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 30 68 90 64 57 100
Search 44 69 93 64 68 100
Details and comments 38 29 73 33 63 93
Code review
Browsing patches 0 74 92 70 64 100
Patch discussion 15 67 72 37 40 87
Patch diff 14 68 89 33 43 87

Browsing Git repositories

Summary page

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 31 KiB 100 100 1.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 50 requests 890 KiB 87 96 3.1 s 2.4 s 2.4 s 4.0 s 5.1 s 60 ms HTMLJSONstderr
Codeberg 20 requests 919 KiB 83 82 4.0 s 2.6 s 2.6 s 6.1 s 6.1 s 180 ms HTMLJSONstderr
Pagure 18 requests 703 KiB 74 67 3.5 s 2.9 s 2.9 s 5.1 s 6.3 s 50 ms HTMLJSONstderr
GitLab 41 requests 831 KiB 60 77 2.4 s 1.1 s 1.7 s 5.8 s 6.4 s 470 ms HTMLJSONstderr
Bitbucket 73 requests 2591 KiB 12 100 11.6 s 9.6 s 10.7 s 14.6 s 15.8 s 460 ms HTMLJSONstderr

Tree (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 30 KiB 100 ? 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 33 requests 349 KiB 87 98 2.4 s 2.4 s 2.4 s 2.4 s 2.4 s 40 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 83 96 2.8 s 2.7 s 2.7 s 3.9 s 3.9 s 70 ms HTMLJSONstderr
GitLab 39 requests 793 KiB 68 81 2.2 s 1.1 s 1.8 s 5.4 s 5.7 s 460 ms HTMLJSONstderr
Codeberg 20 requests 917 KiB 66 85 5.4 s 3.8 s 3.9 s 6.1 s 6.1 s 180 ms HTMLJSONstderr
Bitbucket 70 requests 2588 KiB 19 100 11.5 s 9.5 s 10.7 s 14.6 s 15.7 s 470 ms HTMLJSONstderr

Tree (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 74 KiB 92 94 5.8 s 1.4 s 1.5 s 1.9 s 1.9 s 110 ms HTMLJSONstderr
GitHub * 34 requests 570 KiB 65 98 3.4 s 2.5 s 2.5 s 5.5 s 5.7 s 1,530 ms HTMLJSONstderr
Pagure 18 requests 1234 KiB 48 96 6.4 s 6.4 s 6.7 s 6.7 s 6.7 s 20 ms HTMLJSONstderr
Codeberg 20 requests 1068 KiB 29 ? 11.3 s 3.6 s 3.7 s 13.6 s 13.7 s 2,690 ms HTMLJSONstderr
Bitbucket * 70 requests 2599 KiB 8 100 12.0 s 9.5 s 10.8 s 14.7 s 14.8 s 860 ms HTMLJSONstderr
GitLab n/an/a Lighthouse was unable to reliably load the URL you requested because the page stopped responding. HTML JSON stderr
Notes

Log (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 33 KiB 100 94 1.7 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 33 requests 346 KiB 88 100 3.3 s 2.3 s 2.3 s 3.6 s 3.9 s 130 ms HTMLJSONstderr
GitLab 39 requests 630 KiB 71 68 3.7 s 1.1 s 1.9 s 4.9 s 5.2 s 360 ms HTMLJSONstderr
Codeberg 24 requests 1143 KiB 65 82 5.5 s 2.8 s 3.5 s 6.4 s 6.4 s 270 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 58 78 4.9 s 4.2 s 6.1 s 6.1 s 6.6 s 150 ms HTMLJSONstderr
Bitbucket 68 requests 1770 KiB 19 100 10.7 s 9.5 s 9.6 s 12.3 s 12.4 s 380 ms HTMLJSONstderr

Log (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 38 KiB 100 94 2.3 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 41 requests 387 KiB 85 100 3.2 s 2.5 s 2.5 s 3.8 s 4.2 s 100 ms HTMLJSONstderr
GitLab 58 requests 646 KiB 75 71 4.5 s 1.3 s 1.8 s 4.6 s 5.2 s 370 ms HTMLJSONstderr
Codeberg 20 requests 948 KiB 58 82 6.8 s 2.8 s 2.8 s 6.7 s 6.7 s 300 ms HTMLJSONstderr
Bitbucket 109 requests 1741 KiB 17 98 10.9 s 9.5 s 9.6 s 12.1 s 12.3 s 410 ms HTMLJSONstderr
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 2 requests 33 KiB 99 83 3.3 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 28 requests 353 KiB 92 97 2.7 s 2.3 s 2.3 s 3.7 s 3.1 s 60 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 60 72 4.6 s 3.5 s 4.0 s 6.7 s 8.5 s 220 ms HTMLJSONstderr
Codeberg 25 requests 1171 KiB 57 89 5.4 s 2.8 s 2.8 s 7.2 s 7.2 s 340 ms HTMLJSONstderr
GitLab 38 requests 714 KiB 56 83 5.6 s 1.2 s 2.6 s 5.8 s 6.0 s 430 ms HTMLJSONstderr
Bitbucket 38 requests 10694 KiB 44 98 15.2 s 2.8 s 2.8 s 6.4 s 57.3 s 820 ms HTMLJSONstderr

Source file (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 3 requests 53 KiB 100 94 2.3 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 31 requests 401 KiB 82 98 2.8 s 2.5 s 2.5 s 4.0 s 4.3 s 70 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 58 94 24.1 s 3.2 s 3.7 s 5.8 s 5.7 s 300 ms HTMLJSONstderr
GitLab 35 requests 1311 KiB 56 89 2.8 s 1.1 s 1.8 s 5.3 s 7.1 s 330 ms HTMLJSONstderr
Codeberg 19 requests 938 KiB 50 94 5.5 s 2.6 s 3.3 s 7.1 s 7.1 s 400 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 3 requests 322 KiB 67 ? 7.9 s 2.6 s 2.6 s 3.6 s 3.6 s 240 ms HTMLJSONstderr
GitLab 34 requests 1562 KiB 28 ? 6.3 s 1.1 s 4.6 s 12.9 s 14.0 s 5,910 ms HTMLJSONstderr
GitHub 42 requests 795 KiB 27 ? 6.8 s 4.4 s 4.4 s 11.9 s 12.0 s 900 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 15 ? 23.7 s 5.4 s 6.8 s 8.8 s 8.9 s 1,800 ms HTMLJSONstderr
Codeberg 19 requests 1424 KiB 10 ? 15.4 s 6.3 s 6.3 s 25.6 s 25.7 s 5,800 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 3 requests 61 KiB 99 94 3.0 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 40 requests 400 KiB 90 98 3.5 s 2.5 s 2.5 s 3.9 s 4.6 s 170 ms HTMLJSONstderr
GitLab 28 requests 641 KiB 59 87 2.8 s 1.2 s 1.9 s 5.3 s 5.6 s 840 ms HTMLJSONstderr
Codeberg 22 requests 1117 KiB 42 94 7.2 s 3.1 s 3.1 s 9.2 s 9.3 s 1,570 ms HTMLJSONstderr
Bitbucket 31 requests 10747 KiB 38 85 19.0 s 2.9 s 2.9 s 6.6 s 57.6 s 690 ms HTMLJSONstderr
Pagure 20 requests 1202 KiB 23 83 9.2 s 5.4 s 6.2 s 7.6 s 9.1 s 760 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Codeberg n/an/a The page provided is not HTML (served as MIME type ). HTML JSON stderr
GitLab 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
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
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
Notes

Browsing tickets/issues

Browsing

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 34 KiB 100 89 1.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 27 requests 310 KiB 90 98 2.4 s 2.3 s 2.3 s 3.4 s 3.6 s 150 ms HTMLJSONstderr
Codeberg 27 requests 1199 KiB 68 84 4.8 s 2.8 s 2.8 s 6.2 s 6.2 s 170 ms HTMLJSONstderr
GitLab 41 requests 733 KiB 64 67 3.0 s 1.1 s 1.8 s 5.9 s 6.0 s 450 ms HTMLJSONstderr
Pagure 17 requests 612 KiB 57 80 7.8 s 3.7 s 3.7 s 4.7 s 5.7 s 100 ms HTMLJSONstderr
Bitbucket 37 requests 10636 KiB 30 92 12.9 s 4.1 s 4.1 s 6.4 s 57.4 s 840 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 34 KiB 100 89 2.0 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 27 requests 311 KiB 93 98 2.4 s 2.3 s 2.3 s 3.4 s 3.7 s 80 ms HTMLJSONstderr
Codeberg 27 requests 1199 KiB 69 84 4.8 s 2.7 s 2.7 s 6.3 s 6.3 s 190 ms HTMLJSONstderr
Pagure 18 requests 597 KiB 68 80 4.6 s 3.2 s 3.2 s 4.4 s 5.4 s 80 ms HTMLJSONstderr
GitLab 41 requests 734 KiB 64 67 3.4 s 1.1 s 1.8 s 5.8 s 5.9 s 470 ms HTMLJSONstderr
Bitbucket 41 requests 10641 KiB 44 92 12.1 s 2.8 s 2.8 s 6.5 s 57.5 s 800 ms HTMLJSONstderr

Details and comments

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 46 KiB 93 91 5.6 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 58 requests 597 KiB 73 92 4.9 s 3.1 s 3.2 s 4.6 s 5.4 s 100 ms HTMLJSONstderr
Pagure 38 requests 3527 KiB 63 87 3.3 s 3.2 s 3.2 s 6.3 s 7.8 s 60 ms HTMLJSONstderr
Bitbucket 34 requests 10629 KiB 38 ? 22.1 s 2.8 s 2.8 s 5.4 s 56.8 s 800 ms HTMLJSONstderr
GitLab 62 requests 1093 KiB 33 79 5.7 s 1.3 s 2.0 s 8.9 s 9.3 s 1,420 ms HTMLJSONstderr
Codeberg 43 requests 2163 KiB 29 82 9.4 s 3.5 s 3.5 s 10.7 s 12.7 s 1,570 ms HTMLJSONstderr

Code review

Browsing patches

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 31 KiB 100 83 1.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 26 requests 304 KiB 92 98 2.7 s 2.3 s 2.3 s 3.5 s 3.7 s 90 ms HTMLJSONstderr
Codeberg 27 requests 1199 KiB 74 84 3.9 s 2.6 s 2.6 s 6.2 s 6.2 s 150 ms HTMLJSONstderr
GitLab 35 requests 658 KiB 70 67 2.6 s 1.0 s 1.7 s 5.4 s 5.5 s 420 ms HTMLJSONstderr
Pagure 17 requests 551 KiB 64 82 5.6 s 3.2 s 4.3 s 4.4 s 5.7 s 120 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 2 requests 70 KiB 87 ? 9.5 s 1.1 s 1.1 s 1.2 s 1.2 s 80 ms HTMLJSONstderr
GitHub 49 requests 584 KiB 72 98 5.8 s 2.9 s 3.4 s 4.6 s 5.1 s 120 ms HTMLJSONstderr
Codeberg 29 requests 1436 KiB 67 90 6.1 s 2.7 s 2.7 s 8.5 s 8.9 s 200 ms HTMLJSONstderr
Pagure 39 requests 3112 KiB 40 85 9.4 s 5.2 s 5.6 s 8.9 s 10.6 s 90 ms HTMLJSONstderr
GitLab 59 requests 1231 KiB 37 80 5.6 s 1.0 s 3.3 s 8.5 s 9.0 s 650 ms HTMLJSONstderr
Bitbucket 287 requests 5651 KiB 15 ? 14.0 s 1.9 s 16.4 s 16.6 s 36.2 s 850 ms HTMLJSONstderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
GitHub 30 requests 503 KiB 89 97 3.7 s 2.5 s 2.7 s 3.8 s 4.1 s 70 ms HTMLJSONstderr
SourceHut * 2 requests 70 KiB 87 ? 9.3 s 1.1 s 1.1 s 1.1 s 1.2 s 60 ms HTMLJSONstderr
Codeberg 25 requests 1294 KiB 68 88 6.0 s 2.8 s 2.8 s 7.9 s 8.0 s 380 ms HTMLJSONstderr
Pagure 39 requests 3112 KiB 43 85 8.8 s 5.0 s 5.5 s 8.0 s 10.0 s 100 ms HTMLJSONstderr
GitLab 59 requests 1267 KiB 33 88 6.4 s 1.0 s 3.9 s 9.1 s 9.8 s 760 ms HTMLJSONstderr
Bitbucket * 287 requests 5651 KiB 14 ? 13.6 s 2.2 s 16.3 s 16.6 s 36.2 s 740 ms HTMLJSONstderr
Notes