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 May 14, 2021 at 15:46 UTC, and were generated with Lighthouse 7.4.0. Patches welcome!

Disclaimer: This website is maintained by SourceHut.

Expand for details on methodology

We ran Lighthouse 7.4.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 18 87 91 51 79 100
Tree (best case) 23 42 95 54 82 100
Tree (worst case) 10 0 52 21 44 93
Log (best case) 18 31 89 60 68 100
Log (worst case) 27 47 87 53 58 100
Commit 51 29 92 46 62 100
Source file (best case) 10 49 84 47 68 100
Source file (worst case) 7 0 33 29 25 63
Blame (best case) 44 32 92 38 22 99
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 61 71 91 50 62 100
Search 60 40 91 50 69 100
Details and comments 51 18 67 25 62 99
Code review
Browsing patches 12 52 90 50 74 100
Patch discussion 15 41 74 25 44 87
Patch diff 15 46 82 25 48 87

Browsing Git repositories

Summary page

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 32 KiB 100 100 2.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 39 requests 376 KiB 91 96 3.3 s 2.6 s 2.6 s 3.0 s 3.2 s 100 ms HTMLJSONstderr
Codeberg 19 requests 669 KiB 87 82 3.9 s 2.6 s 2.6 s 4.9 s 4.9 s 190 ms HTMLJSONstderr
Pagure 19 requests 704 KiB 79 67 3.5 s 2.9 s 2.9 s 2.9 s 2.9 s 30 ms HTMLJSONstderr
GitLab 35 requests 1411 KiB 51 74 3.2 s 1.8 s 5.4 s 8.9 s 9.0 s 470 ms HTMLJSONstderr
Bitbucket 62 requests 2398 KiB 18 100 13.7 s 11.8 s 12.4 s 12.4 s 16.7 s 1,310 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 93 2.0 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 26 requests 313 KiB 95 98 2.4 s 2.4 s 2.4 s 2.4 s 2.4 s 40 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 82 96 2.7 s 2.7 s 2.7 s 2.7 s 2.7 s 30 ms HTMLJSONstderr
GitLab 34 requests 1380 KiB 54 80 3.0 s 1.8 s 5.4 s 8.6 s 8.6 s 470 ms HTMLJSONstderr
Codeberg 18 requests 663 KiB 42 85 10.9 s 6.2 s 6.2 s 7.5 s 7.5 s 210 ms HTMLJSONstderr
Bitbucket 61 requests 2395 KiB 23 100 13.7 s 12.0 s 12.6 s 12.6 s 16.6 s 1,290 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 93 93 5.6 s 1.5 s 1.5 s 1.7 s 1.7 s 70 ms HTMLJSONstderr
GitHub * 25 requests 542 KiB 52 98 3.4 s 2.5 s 2.5 s 5.0 s 5.0 s 940 ms HTMLJSONstderr
Pagure 18 requests 1234 KiB 44 96 6.7 s 6.3 s 6.8 s 7.8 s 7.9 s 260 ms HTMLJSONstderr
GitLab 61 requests 1504 KiB 21 80 6.5 s 3.4 s 7.0 s 39.6 s 39.7 s 2,280 ms HTMLJSONstderr
Bitbucket * 62 requests 2407 KiB 10 100 14.3 s 11.9 s 12.5 s 12.5 s 17.5 s 1,340 ms HTMLJSONstderr
Codeberg 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
SourceHut 2 requests 33 KiB 100 94 1.3 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 27 requests 308 KiB 89 100 3.3 s 2.3 s 2.3 s 3.2 s 3.2 s 70 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 68 78 4.1 s 3.4 s 5.0 s 5.0 s 6.2 s 180 ms HTMLJSONstderr
GitLab 34 requests 1156 KiB 60 79 4.1 s 1.9 s 5.5 s 7.8 s 8.0 s 310 ms HTMLJSONstderr
Codeberg 22 requests 891 KiB 31 88 16.8 s 6.1 s 6.1 s 7.9 s 7.9 s 350 ms HTMLJSONstderr
Bitbucket 57 requests 2087 KiB 18 100 12.7 s 12.0 s 12.3 s 12.3 s 14.7 s 1,300 ms HTMLJSONstderr

Log (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 39 KiB 100 94 1.3 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 38 requests 348 KiB 87 100 3.2 s 2.4 s 2.4 s 3.4 s 3.2 s 110 ms HTMLJSONstderr
Pagure 72 requests 702 KiB 58 78 41.1 s 3.3 s 4.8 s 4.8 s 5.3 s 180 ms HTMLJSONstderr
GitLab 54 requests 1177 KiB 53 79 5.5 s 1.8 s 5.4 s 8.0 s 8.2 s 470 ms HTMLJSONstderr
Codeberg 20 requests 696 KiB 47 88 10.3 s 3.8 s 3.8 s 6.4 s 6.4 s 360 ms HTMLJSONstderr
Bitbucket 56 requests 2064 KiB 27 100 12.5 s 12.1 s 12.4 s 12.4 s 15.3 s 1,340 ms HTMLJSONstderr

Commit

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 33 KiB 100 83 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 23 requests 317 KiB 92 97 2.8 s 2.3 s 2.3 s 2.7 s 3.2 s 80 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 62 72 3.8 s 3.2 s 4.7 s 6.5 s 7.9 s 310 ms HTMLJSONstderr
Bitbucket 37 requests 2505 KiB 51 94 7.0 s 2.9 s 2.9 s 5.5 s 17.8 s 660 ms HTMLJSONstderr
GitLab 36 requests 1337 KiB 46 83 5.1 s 1.8 s 6.1 s 8.9 s 8.9 s 460 ms HTMLJSONstderr
Codeberg 24 requests 920 KiB 29 94 18.7 s 7.7 s 7.7 s 9.6 s 9.6 s 390 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 25 requests 365 KiB 84 98 2.6 s 2.4 s 2.4 s 3.7 s 4.1 s 70 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 68 94 3.2 s 2.8 s 5.4 s 5.8 s 5.8 s 270 ms HTMLJSONstderr
Codeberg 17 requests 684 KiB 49 94 6.3 s 3.2 s 3.2 s 6.6 s 6.6 s 940 ms HTMLJSONstderr
GitLab 29 requests 1258 KiB 47 89 5.3 s 1.9 s 6.7 s 8.5 s 8.5 s 460 ms HTMLJSONstderr
Bitbucket 69 requests 2949 KiB 10 98 15.1 s 11.8 s 14.1 s 14.1 s 20.2 s 1,280 ms HTMLJSONstderr

Source file (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 3 requests 322 KiB 63 ? 7.9 s 2.6 s 2.6 s 3.9 s 3.9 s 200 ms HTMLJSONstderr
GitHub 24 requests 731 KiB 33 ? 5.9 s 4.2 s 4.2 s 10.8 s 10.8 s 360 ms HTMLJSONstderr
GitLab 29 requests 1493 KiB 29 ? 6.5 s 1.8 s 7.0 s 11.0 s 11.2 s 1,720 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 25 ? 11.6 s 5.3 s 6.4 s 7.6 s 7.6 s 1,610 ms HTMLJSONstderr
Bitbucket 73 requests 3625 KiB 7 98 15.4 s 11.9 s 14.1 s 14.1 s 24.3 s 1,370 ms HTMLJSONstderr
Codeberg n/an/a Lighthouse was unable to reliably load the URL you requested because the page stopped responding. HTML JSON stderr

Blame (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 3 requests 60 KiB 99 94 2.7 s 1.2 s 1.3 s 1.3 s 1.3 s 20 ms HTMLJSONstderr
GitHub 34 requests 365 KiB 92 98 2.9 s 2.5 s 2.5 s 3.7 s 4.3 s 230 ms HTMLJSONstderr
Bitbucket 32 requests 2585 KiB 44 85 8.3 s 2.8 s 2.8 s 4.9 s 16.7 s 610 ms HTMLJSONstderr
GitLab 35 requests 1181 KiB 38 86 4.5 s 1.8 s 5.4 s 10.4 s 10.6 s 1,660 ms HTMLJSONstderr
Codeberg 20 requests 831 KiB 32 94 7.7 s 3.6 s 4.5 s 6.9 s 7.2 s 690 ms HTMLJSONstderr
Pagure 20 requests 1202 KiB 22 83 8.7 s 4.9 s 8.4 s 8.4 s 8.7 s 930 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
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
Codeberg n/an/a The page did not paint any content. Please ensure you keep the browser window in the foreground during the load and try again. (NO_FCP) 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
Notes

Browsing tickets/issues

Browsing

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 35 KiB 100 100 1.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 23 requests 303 KiB 91 98 2.5 s 2.3 s 2.3 s 3.2 s 3.5 s 80 ms HTMLJSONstderr
Codeberg 25 requests 946 KiB 71 90 5.4 s 3.3 s 3.3 s 5.7 s 5.7 s 210 ms HTMLJSONstderr
Pagure 17 requests 618 KiB 62 78 5.0 s 3.6 s 3.6 s 4.7 s 6.0 s 80 ms HTMLJSONstderr
Bitbucket 41 requests 2460 KiB 61 92 6.2 s 2.7 s 2.7 s 5.2 s 17.1 s 720 ms HTMLJSONstderr
GitLab 37 requests 1345 KiB 50 78 5.0 s 1.8 s 5.5 s 8.9 s 8.9 s 380 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 35 KiB 100 100 2.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 23 requests 303 KiB 91 98 2.5 s 2.3 s 2.3 s 3.2 s 3.7 s 70 ms HTMLJSONstderr
Pagure 18 requests 594 KiB 69 78 4.5 s 3.2 s 3.2 s 4.3 s 5.3 s 90 ms HTMLJSONstderr
Bitbucket 41 requests 2460 KiB 60 92 5.9 s 2.8 s 2.8 s 5.2 s 17.3 s 670 ms HTMLJSONstderr
GitLab 38 requests 1347 KiB 50 72 5.0 s 1.8 s 5.4 s 8.9 s 8.9 s 390 ms HTMLJSONstderr
Codeberg 25 requests 946 KiB 40 90 15.0 s 6.0 s 6.0 s 7.6 s 7.6 s 240 ms HTMLJSONstderr

Details and comments

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 58 KiB 99 91 2.8 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 50 requests 530 KiB 67 98 6.1 s 3.9 s 3.9 s 3.9 s 4.5 s 170 ms HTMLJSONstderr
Pagure 38 requests 3527 KiB 62 87 3.2 s 3.2 s 3.2 s 6.3 s 7.8 s 60 ms HTMLJSONstderr
Bitbucket 35 requests 2465 KiB 51 92 8.4 s 2.8 s 2.8 s 4.8 s 15.1 s 620 ms HTMLJSONstderr
GitLab 69 requests 1751 KiB 25 72 7.7 s 1.8 s 6.6 s 12.6 s 12.8 s 1,450 ms HTMLJSONstderr
Codeberg 43 requests 1679 KiB 18 82 14.1 s 4.3 s 4.3 s 9.3 s 11.0 s 1,400 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 91 1.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 22 requests 293 KiB 90 98 2.9 s 2.3 s 2.3 s 3.2 s 3.5 s 70 ms HTMLJSONstderr
Pagure 17 requests 542 KiB 74 82 4.1 s 3.0 s 3.0 s 4.1 s 4.9 s 50 ms HTMLJSONstderr
Codeberg 25 requests 946 KiB 52 90 13.1 s 4.4 s 4.4 s 6.4 s 6.4 s 210 ms HTMLJSONstderr
GitLab 32 requests 1279 KiB 50 78 4.9 s 1.8 s 5.5 s 8.5 s 8.5 s 440 ms HTMLJSONstderr
Bitbucket 93 requests 3853 KiB 12 100 11.8 s 11.8 s 11.9 s 11.9 s 19.0 s 1,340 ms HTMLJSONstderr

Patch discussion

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 70 KiB 87 ? 9.3 s 1.1 s 1.1 s 1.1 s 1.1 s 50 ms HTMLJSONstderr
GitHub 38 requests 519 KiB 74 98 6.3 s 2.8 s 3.3 s 3.8 s 4.4 s 110 ms HTMLJSONstderr
Pagure 39 requests 3006 KiB 44 68 12.5 s 4.6 s 5.8 s 7.3 s 7.3 s 150 ms HTMLJSONstderr
Codeberg 25 requests 945 KiB 41 90 14.2 s 5.2 s 5.2 s 8.2 s 8.6 s 280 ms HTMLJSONstderr
GitLab 67 requests 2029 KiB 25 80 8.1 s 1.8 s 7.1 s 13.2 s 13.6 s 960 ms HTMLJSONstderr
Bitbucket 216 requests 5366 KiB 15 ? 15.4 s 2.0 s 18.9 s 18.9 s 32.8 s 1,330 ms HTMLJSONstderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut * 2 requests 70 KiB 87 ? 9.2 s 1.1 s 1.1 s 1.1 s 1.1 s 50 ms HTMLJSONstderr
GitHub 24 requests 450 KiB 82 97 5.2 s 2.5 s 2.9 s 3.5 s 3.9 s 110 ms HTMLJSONstderr
Pagure 39 requests 3006 KiB 48 68 7.7 s 4.5 s 5.8 s 7.2 s 7.3 s 110 ms HTMLJSONstderr
Codeberg 23 requests 940 KiB 46 93 8.6 s 3.5 s 3.5 s 6.7 s 6.7 s 450 ms HTMLJSONstderr
GitLab 64 requests 2066 KiB 25 86 7.7 s 1.7 s 7.1 s 15.1 s 15.8 s 2,360 ms HTMLJSONstderr
Bitbucket * 215 requests 5366 KiB 15 ? 15.0 s 1.9 s 19.9 s 19.9 s 33.2 s 1,380 ms HTMLJSONstderr
Notes