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 January 14, 2022 at 15:15 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 13 82 89 59 73 100
Tree (best case) 14 72 83 63 81 100
Tree (worst case) 7 30 58 0 46 91
Log (best case) 17 54 85 66 66 100
Log (worst case) 14 62 86 69 0 100
Commit 26 56 89 61 56 100
Source file (best case) 0 54 79 54 64 100
Source file (worst case) 0 6 24 32 17 52
Blame (best case) 21 38 89 55 25 99
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 54 82 92 55 67 100
Search 56 81 94 62 49 100
Details and comments 56 45 78 35 58 99
Code review
Browsing patches 0 82 94 61 58 100
Patch discussion 15 62 77 38 43 86
Patch diff 15 59 82 31 46 86

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 900 KiB 89 96 3.1 s 2.4 s 2.4 s 4.0 s 5.2 s 70 ms HTMLJSONstderr
Codeberg 20 requests 918 KiB 82 82 4.7 s 2.6 s 2.6 s 6.1 s 6.2 s 170 ms HTMLJSONstderr
Pagure 18 requests 703 KiB 73 67 3.6 s 2.9 s 2.9 s 5.0 s 6.2 s 60 ms HTMLJSONstderr
GitLab 37 requests 859 KiB 59 77 2.4 s 1.0 s 1.8 s 5.9 s 6.0 s 550 ms HTMLJSONstderr
Bitbucket 73 requests 3089 KiB 13 100 13.0 s 10.8 s 12.1 s 12.1 s 16.2 s 500 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 356 KiB 83 98 2.3 s 2.3 s 2.3 s 3.6 s 4.0 s 50 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 81 96 3.7 s 2.9 s 2.9 s 2.9 s 2.9 s 40 ms HTMLJSONstderr
Codeberg 20 requests 915 KiB 72 85 4.5 s 2.6 s 2.6 s 6.0 s 6.1 s 150 ms HTMLJSONstderr
GitLab 37 requests 852 KiB 63 81 2.3 s 1.0 s 1.7 s 5.8 s 6.3 s 530 ms HTMLJSONstderr
Bitbucket 71 requests 3087 KiB 14 100 12.8 s 10.9 s 12.1 s 12.1 s 16.1 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 83 KiB 91 ? 6.4 s 1.5 s 1.5 s 1.9 s 1.9 s 130 ms HTMLJSONstderr
GitHub * 33 requests 581 KiB 58 98 3.9 s 2.5 s 2.5 s 8.5 s 8.6 s 1,550 ms HTMLJSONstderr
Pagure 18 requests 1234 KiB 46 96 6.6 s 6.6 s 6.6 s 7.5 s 7.6 s 70 ms HTMLJSONstderr
Codeberg 20 requests 1067 KiB 30 ? 9.3 s 3.6 s 3.7 s 13.2 s 13.2 s 2,500 ms HTMLJSONstderr
Bitbucket * 71 requests 3109 KiB 7 100 13.4 s 10.9 s 12.1 s 12.1 s 16.4 s 1,140 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 34 KiB 100 94 1.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 33 requests 351 KiB 85 100 3.2 s 2.3 s 2.3 s 3.5 s 3.9 s 90 ms HTMLJSONstderr
GitLab 40 requests 697 KiB 66 68 5.3 s 1.3 s 2.0 s 5.2 s 5.6 s 430 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 66 78 4.2 s 3.6 s 5.3 s 5.3 s 6.4 s 140 ms HTMLJSONstderr
Codeberg 25 requests 1235 KiB 54 82 6.5 s 2.8 s 2.8 s 6.7 s 6.7 s 280 ms HTMLJSONstderr
Bitbucket 71 requests 2211 KiB 17 100 11.8 s 10.8 s 11.1 s 11.1 s 14.4 s 400 ms HTMLJSONstderr

Log (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 40 KiB 100 ? 2.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 35 requests 375 KiB 86 100 3.1 s 2.5 s 2.5 s 3.7 s 4.2 s 120 ms HTMLJSONstderr
GitLab 59 requests 714 KiB 69 71 5.2 s 1.2 s 1.8 s 5.0 s 5.6 s 420 ms HTMLJSONstderr
Codeberg 20 requests 947 KiB 62 82 7.4 s 2.8 s 3.5 s 6.6 s 6.7 s 290 ms HTMLJSONstderr
Bitbucket 73 requests 2210 KiB 14 98 12.9 s 10.9 s 11.2 s 11.2 s 14.7 s 460 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.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 31 requests 364 KiB 89 97 2.8 s 2.4 s 2.4 s 3.8 s 4.5 s 70 ms HTMLJSONstderr
GitLab 39 requests 763 KiB 61 83 4.0 s 1.3 s 2.7 s 5.7 s 6.0 s 460 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 56 72 4.9 s 3.5 s 5.1 s 6.6 s 8.4 s 210 ms HTMLJSONstderr
Codeberg 25 requests 1169 KiB 56 89 5.8 s 2.9 s 2.9 s 7.3 s 7.4 s 360 ms HTMLJSONstderr
Bitbucket 38 requests 11257 KiB 26 98 18.7 s 4.2 s 4.2 s 4.2 s 60.3 s 810 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.1 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 33 requests 413 KiB 79 98 2.8 s 2.5 s 2.5 s 4.0 s 4.5 s 160 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 64 94 3.6 s 3.2 s 5.5 s 5.9 s 5.9 s 290 ms HTMLJSONstderr
Codeberg 19 requests 936 KiB 54 94 5.4 s 2.6 s 3.3 s 6.8 s 6.8 s 300 ms HTMLJSONstderr
GitLab 32 requests 1331 KiB 54 89 2.9 s 1.0 s 1.8 s 5.3 s 7.1 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 3 requests 372 KiB 52 ? 9.1 s 2.7 s 2.7 s 4.5 s 4.5 s 300 ms HTMLJSONstderr
GitLab 31 requests 1581 KiB 32 ? 5.1 s 1.0 s 3.3 s 10.4 s 11.6 s 3,960 ms HTMLJSONstderr
GitHub 33 requests 816 KiB 24 ? 9.5 s 4.4 s 4.4 s 15.3 s 15.4 s 1,110 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 17 ? 10.3 s 5.7 s 6.8 s 8.4 s 8.5 s 1,860 ms HTMLJSONstderr
Codeberg 19 requests 1422 KiB 6 ? 25.0 s 7.8 s 9.2 s 24.8 s 24.8 s 10,000 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.8 s 1.2 s 1.3 s 1.3 s 1.3 s 20 ms HTMLJSONstderr
GitHub 41 requests 409 KiB 89 98 3.1 s 2.5 s 2.5 s 4.3 s 4.9 s 350 ms HTMLJSONstderr
GitLab 27 requests 709 KiB 55 87 3.7 s 1.2 s 1.2 s 5.6 s 5.9 s 870 ms HTMLJSONstderr
Codeberg 23 requests 1210 KiB 38 94 8.4 s 3.3 s 3.3 s 9.6 s 9.6 s 1,910 ms HTMLJSONstderr
Pagure 20 requests 1202 KiB 25 83 8.2 s 4.5 s 5.7 s 7.5 s 8.5 s 870 ms HTMLJSONstderr
Bitbucket 31 requests 11306 KiB 21 85 17.8 s 4.4 s 4.4 s 4.4 s 60.7 s 740 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.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 28 requests 343 KiB 92 98 2.5 s 2.3 s 2.3 s 3.6 s 3.9 s 110 ms HTMLJSONstderr
Codeberg 27 requests 1198 KiB 82 84 4.0 s 2.6 s 2.6 s 6.3 s 6.3 s 190 ms HTMLJSONstderr
Pagure 17 requests 612 KiB 67 80 5.5 s 3.5 s 3.5 s 4.4 s 3.5 s 50 ms HTMLJSONstderr
GitLab 44 requests 845 KiB 55 73 3.5 s 1.3 s 2.0 s 6.3 s 6.6 s 590 ms HTMLJSONstderr
Bitbucket 21 requests 615 KiB 54 85 5.6 s 4.9 s 5.0 s 5.7 s 6.3 s 300 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 33 KiB 100 89 2.0 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 28 requests 344 KiB 94 98 2.4 s 2.3 s 2.3 s 3.6 s 3.9 s 100 ms HTMLJSONstderr
Codeberg 27 requests 1198 KiB 81 84 4.0 s 2.6 s 2.6 s 6.4 s 6.4 s 220 ms HTMLJSONstderr
GitLab 44 requests 845 KiB 62 73 4.6 s 1.3 s 3.0 s 6.7 s 6.8 s 250 ms HTMLJSONstderr
Bitbucket 21 requests 615 KiB 56 85 5.6 s 5.0 s 5.1 s 5.7 s 6.3 s 310 ms HTMLJSONstderr
Pagure 18 requests 599 KiB 49 80 18.5 s 4.0 s 4.0 s 5.0 s 6.4 s 90 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 99 91 3.1 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 61 requests 615 KiB 78 92 4.8 s 3.0 s 3.0 s 4.5 s 5.3 s 120 ms HTMLJSONstderr
Pagure 38 requests 3527 KiB 58 87 4.8 s 3.4 s 3.4 s 3.4 s 8.2 s 130 ms HTMLJSONstderr
Bitbucket 21 requests 615 KiB 56 85 5.6 s 4.9 s 5.0 s 5.7 s 6.3 s 510 ms HTMLJSONstderr
Codeberg 43 requests 2155 KiB 45 82 8.2 s 3.8 s 3.8 s 9.6 s 12.0 s 550 ms HTMLJSONstderr
GitLab 63 requests 1146 KiB 35 79 5.0 s 1.3 s 2.1 s 9.6 s 9.8 s 1,580 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 27 requests 339 KiB 94 98 2.7 s 2.3 s 2.3 s 3.6 s 3.9 s 70 ms HTMLJSONstderr
Codeberg 27 requests 1198 KiB 82 84 4.7 s 2.6 s 2.6 s 6.2 s 6.3 s 190 ms HTMLJSONstderr
GitLab 44 requests 793 KiB 61 73 3.7 s 1.2 s 1.9 s 5.9 s 6.3 s 530 ms HTMLJSONstderr
Pagure 17 requests 551 KiB 58 82 6.3 s 3.7 s 3.7 s 4.7 s 6.3 s 70 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 71 KiB 86 ? 10.1 s 1.1 s 1.1 s 1.1 s 1.2 s 60 ms HTMLJSONstderr
GitHub 51 requests 608 KiB 77 98 5.6 s 3.0 s 3.0 s 4.9 s 5.5 s 170 ms HTMLJSONstderr
Codeberg 29 requests 1436 KiB 62 90 6.9 s 3.2 s 3.2 s 8.6 s 9.1 s 240 ms HTMLJSONstderr
Pagure 39 requests 2889 KiB 43 85 9.4 s 5.0 s 5.4 s 8.1 s 8.2 s 140 ms HTMLJSONstderr
GitLab 60 requests 1278 KiB 38 80 4.9 s 1.3 s 1.9 s 8.2 s 9.1 s 700 ms HTMLJSONstderr
Bitbucket 284 requests 6795 KiB 15 ? 14.2 s 1.9 s 15.9 s 15.9 s 42.4 s 870 ms HTMLJSONstderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut * 2 requests 71 KiB 86 ? 10.4 s 1.2 s 1.2 s 1.2 s 1.2 s 80 ms HTMLJSONstderr
GitHub 38 requests 533 KiB 82 97 5.1 s 2.7 s 2.7 s 4.4 s 4.9 s 120 ms HTMLJSONstderr
Codeberg 25 requests 1292 KiB 59 88 6.4 s 3.0 s 3.0 s 8.0 s 8.1 s 400 ms HTMLJSONstderr
Pagure 39 requests 3187 KiB 46 85 9.6 s 4.9 s 5.2 s 7.4 s 7.4 s 110 ms HTMLJSONstderr
GitLab 59 requests 1317 KiB 31 82 6.7 s 1.1 s 4.1 s 10.4 s 10.6 s 840 ms HTMLJSONstderr
Bitbucket * 283 requests 6795 KiB 15 ? 13.7 s 1.9 s 16.0 s 16.0 s 43.1 s 780 ms HTMLJSONstderr
Notes