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 3, 2021 at 15:11 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 11 75 92 75 75 100
Tree (best case) 14 71 84 66 73 100
Tree (worst case) 7 18 63 0 49 88
Log (best case) 15 56 87 70 63 100
Log (worst case) 16 59 87 68 0 100
Commit 46 56 89 65 65 100
Source file (best case) 0 44 76 54 70 100
Source file (worst case) 0 9 25 41 20 70
Blame (best case) 42 28 91 71 22 99
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 50 82 95 60 62 100
Search 54 81 95 61 70 100
Details and comments 53 25 77 40 65 96
Code review
Browsing patches 0 83 94 64 54 100
Patch discussion 15 73 76 40 47 87
Patch diff 16 62 86 30 37 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.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 51 requests 896 KiB 92 96 2.4 s 2.4 s 2.4 s 4.0 s 5.2 s 70 ms HTMLJSONstderr
GitLab 36 requests 842 KiB 75 77 3.2 s 1.1 s 3.0 s 5.5 s 5.8 s 250 ms HTMLJSONstderr
Pagure 18 requests 703 KiB 75 67 3.3 s 2.9 s 2.9 s 4.9 s 6.2 s 60 ms HTMLJSONstderr
Codeberg 20 requests 919 KiB 75 82 4.5 s 2.5 s 3.2 s 6.0 s 6.0 s 130 ms HTMLJSONstderr
Bitbucket 72 requests 3414 KiB 11 100 12.1 s 9.6 s 10.8 s 14.6 s 14.7 s 600 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 94 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 34 requests 352 KiB 84 98 2.4 s 2.4 s 2.4 s 2.4 s 2.4 s 50 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 73 96 8.4 s 2.7 s 2.7 s 3.7 s 3.9 s 100 ms HTMLJSONstderr
Codeberg 20 requests 917 KiB 71 85 4.9 s 2.6 s 2.6 s 6.1 s 6.1 s 170 ms HTMLJSONstderr
GitLab 36 requests 835 KiB 66 81 2.4 s 1.1 s 1.9 s 5.5 s 5.7 s 490 ms HTMLJSONstderr
Bitbucket 70 requests 3411 KiB 14 100 12.0 s 9.9 s 11.2 s 11.2 s 15.2 s 540 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 88 94 7.9 s 1.5 s 1.5 s 1.8 s 1.9 s 150 ms HTMLJSONstderr
GitHub * 34 requests 577 KiB 63 98 3.7 s 2.5 s 2.5 s 5.8 s 6.0 s 1,770 ms HTMLJSONstderr
Pagure 18 requests 1233 KiB 49 96 6.3 s 6.3 s 6.7 s 6.7 s 6.7 s 30 ms HTMLJSONstderr
Codeberg 20 requests 1068 KiB 18 ? 16.7 s 3.6 s 3.6 s 13.3 s 13.3 s 2,510 ms HTMLJSONstderr
Bitbucket * 70 requests 3423 KiB 7 100 13.1 s 9.9 s 11.2 s 11.2 s 15.5 s 1,150 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.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 33 requests 347 KiB 87 100 3.3 s 2.3 s 2.3 s 3.7 s 3.9 s 100 ms HTMLJSONstderr
GitLab 39 requests 682 KiB 70 68 3.2 s 1.1 s 1.8 s 5.0 s 5.4 s 440 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 63 78 5.5 s 3.6 s 4.2 s 5.0 s 5.7 s 120 ms HTMLJSONstderr
Codeberg 24 requests 1144 KiB 56 82 6.6 s 4.0 s 4.1 s 6.5 s 6.5 s 240 ms HTMLJSONstderr
Bitbucket 70 requests 1936 KiB 15 100 11.6 s 9.9 s 10.0 s 10.0 s 13.5 s 430 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 ? 1.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 51 requests 408 KiB 87 100 3.2 s 2.5 s 2.5 s 3.6 s 4.0 s 90 ms HTMLJSONstderr
GitLab 58 requests 700 KiB 68 71 4.0 s 1.2 s 1.9 s 5.3 s 5.6 s 450 ms HTMLJSONstderr
Codeberg 20 requests 949 KiB 59 82 8.2 s 2.8 s 3.5 s 6.6 s 6.6 s 290 ms HTMLJSONstderr
Bitbucket 72 requests 1935 KiB 16 98 11.5 s 9.9 s 10.0 s 10.0 s 13.1 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 100 83 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 31 requests 361 KiB 89 97 2.7 s 2.3 s 2.3 s 3.8 s 4.3 s 80 ms HTMLJSONstderr
GitLab 38 requests 748 KiB 65 81 4.4 s 1.3 s 3.3 s 5.9 s 6.2 s 240 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 65 72 4.0 s 3.1 s 4.6 s 6.5 s 7.9 s 220 ms HTMLJSONstderr
Codeberg 25 requests 1171 KiB 56 89 5.7 s 2.8 s 2.8 s 7.1 s 7.1 s 350 ms HTMLJSONstderr
Bitbucket 39 requests 10970 KiB 46 98 17.2 s 2.7 s 2.7 s 2.7 s 59.4 s 800 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.3 s 1.3 s 1.3 s 20 ms HTMLJSONstderr
GitHub 33 requests 410 KiB 76 98 2.8 s 2.5 s 2.5 s 4.3 s 4.8 s 90 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 70 94 3.3 s 2.8 s 5.5 s 5.8 s 5.9 s 260 ms HTMLJSONstderr
GitLab 31 requests 1316 KiB 54 89 2.9 s 1.1 s 1.8 s 5.6 s 7.4 s 300 ms HTMLJSONstderr
Codeberg 19 requests 937 KiB 44 94 5.7 s 2.5 s 2.5 s 7.4 s 7.4 s 510 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 70 ? 7.6 s 2.6 s 2.6 s 3.5 s 3.5 s 230 ms HTMLJSONstderr
GitLab 30 requests 1565 KiB 41 ? 4.1 s 1.1 s 1.9 s 7.3 s 7.6 s 980 ms HTMLJSONstderr
GitHub 43 requests 824 KiB 25 ? 7.1 s 4.4 s 4.4 s 13.8 s 13.8 s 1,120 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 20 ? 10.5 s 5.6 s 6.7 s 8.3 s 8.3 s 1,810 ms HTMLJSONstderr
Codeberg 19 requests 1424 KiB 9 ? 17.0 s 6.7 s 6.8 s 26.3 s 26.4 s 5,980 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 2.9 s 1.2 s 1.2 s 1.2 s 1.2 s 40 ms HTMLJSONstderr
GitHub 41 requests 405 KiB 91 98 3.1 s 2.5 s 2.5 s 3.9 s 4.2 s 230 ms HTMLJSONstderr
GitLab 26 requests 692 KiB 71 87 2.4 s 1.2 s 1.2 s 5.7 s 6.0 s 860 ms HTMLJSONstderr
Bitbucket 31 requests 11013 KiB 42 85 21.3 s 2.8 s 2.8 s 2.8 s 57.8 s 760 ms HTMLJSONstderr
Codeberg 22 requests 1118 KiB 28 94 9.9 s 4.1 s 4.1 s 10.0 s 10.1 s 1,750 ms HTMLJSONstderr
Pagure 20 requests 1202 KiB 22 83 11.0 s 4.5 s 7.3 s 8.5 s 8.4 s 970 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
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
Codeberg 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 2 requests 34 KiB 100 89 1.6 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 29 requests 342 KiB 95 98 2.3 s 2.3 s 2.3 s 3.6 s 3.8 s 130 ms HTMLJSONstderr
Codeberg 27 requests 1200 KiB 82 84 3.9 s 2.6 s 2.6 s 6.2 s 6.2 s 210 ms HTMLJSONstderr
Pagure 17 requests 615 KiB 62 80 5.3 s 3.6 s 3.6 s 4.6 s 5.9 s 90 ms HTMLJSONstderr
GitLab 39 requests 765 KiB 60 67 2.7 s 1.1 s 1.8 s 6.0 s 6.0 s 530 ms HTMLJSONstderr
Bitbucket 21 requests 656 KiB 50 85 6.4 s 5.2 s 5.3 s 5.9 s 6.6 s 520 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.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 29 requests 343 KiB 95 98 2.5 s 2.3 s 2.3 s 3.5 s 3.7 s 120 ms HTMLJSONstderr
Codeberg 27 requests 1200 KiB 81 84 4.1 s 2.6 s 2.6 s 6.4 s 6.4 s 200 ms HTMLJSONstderr
Pagure 18 requests 597 KiB 70 80 5.5 s 3.6 s 3.6 s 3.6 s 3.6 s 40 ms HTMLJSONstderr
GitLab 39 requests 765 KiB 61 67 3.6 s 1.1 s 1.8 s 6.1 s 6.3 s 430 ms HTMLJSONstderr
Bitbucket 20 requests 655 KiB 54 85 6.2 s 5.1 s 5.2 s 5.9 s 6.4 s 490 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 96 91 4.4 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 62 requests 614 KiB 77 92 5.2 s 3.0 s 3.0 s 4.5 s 5.4 s 130 ms HTMLJSONstderr
Pagure 38 requests 3527 KiB 65 87 3.4 s 3.2 s 3.2 s 6.7 s 7.9 s 80 ms HTMLJSONstderr
Bitbucket 20 requests 655 KiB 53 85 6.7 s 5.2 s 5.2 s 5.8 s 6.3 s 300 ms HTMLJSONstderr
GitLab 64 requests 1084 KiB 40 79 3.7 s 1.4 s 2.0 s 8.9 s 9.4 s 1,070 ms HTMLJSONstderr
Codeberg 43 requests 2164 KiB 25 82 8.8 s 3.6 s 3.6 s 11.4 s 13.1 s 1,540 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 80 1.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 28 requests 337 KiB 94 98 2.8 s 2.3 s 2.3 s 3.5 s 3.7 s 100 ms HTMLJSONstderr
Codeberg 27 requests 1199 KiB 83 84 4.3 s 2.6 s 2.6 s 6.2 s 6.2 s 150 ms HTMLJSONstderr
GitLab 33 requests 696 KiB 64 67 2.9 s 1.1 s 1.7 s 5.5 s 5.6 s 470 ms HTMLJSONstderr
Pagure 17 requests 553 KiB 54 82 21.9 s 3.7 s 4.7 s 4.7 s 5.2 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.6 s 1.2 s 1.2 s 1.2 s 1.2 s 90 ms HTMLJSONstderr
GitHub 52 requests 608 KiB 76 98 5.2 s 3.0 s 3.2 s 4.8 s 5.4 s 120 ms HTMLJSONstderr
Codeberg 29 requests 1437 KiB 73 90 5.4 s 2.8 s 2.8 s 8.7 s 9.1 s 150 ms HTMLJSONstderr
Pagure 39 requests 3156 KiB 47 85 9.3 s 4.6 s 4.9 s 7.1 s 7.1 s 90 ms HTMLJSONstderr
GitLab 61 requests 1258 KiB 40 80 4.3 s 1.2 s 4.1 s 8.3 s 8.9 s 790 ms HTMLJSONstderr
Bitbucket 286 requests 8587 KiB 15 ? 15.6 s 2.0 s 19.2 s 19.2 s 52.4 s 860 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.5 s 1.1 s 1.1 s 1.1 s 1.1 s 60 ms HTMLJSONstderr
GitHub 39 requests 532 KiB 86 97 4.4 s 2.7 s 2.7 s 4.0 s 4.4 s 120 ms HTMLJSONstderr
Codeberg 25 requests 1294 KiB 62 88 5.7 s 2.9 s 2.9 s 8.1 s 8.1 s 390 ms HTMLJSONstderr
Pagure 39 requests 3156 KiB 37 85 22.4 s 5.7 s 6.2 s 7.9 s 10.3 s 190 ms HTMLJSONstderr
GitLab 59 requests 1296 KiB 30 88 6.9 s 1.1 s 4.0 s 9.9 s 10.3 s 740 ms HTMLJSONstderr
Bitbucket * 285 requests 8586 KiB 16 ? 16.0 s 2.0 s 18.7 s 18.7 s 50.7 s 870 ms HTMLJSONstderr
Notes