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 June 2, 2023 at 14:59 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 15 77 88 63 77 100
Tree (best case) 22 82 74 66 89 100
Tree (worst case) 9 6 81 33 56 95
Log (best case) 26 74 90 63 80 100
Log (worst case) 22 64 89 62 0 100
Commit 46 67 91 65 73 100
Source file (best case) 0 49 71 59 77 100
Source file (worst case) 0 5 25 58 23 71
Blame (best case) 47 26 86 68 47 100
Blame (worst case) 0 0 n/a 54 0 0
Browsing tickets/issues
Browsing 60 34 91 46 86 100
Search 60 48 91 44 81 100
Details and comments 62 36 74 37 72 100
Code review
Browsing patches 0 57 87 64 78 100
Patch discussion 17 60 70 40 48 99
Patch diff 18 50 84 39 55 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
GitHub 78 requests 586 KiB 88 96 3.3 s 2.5 s 2.5 s 4.5 s 5.4 s 80 ms HTMLJSONstderr
Pagure 20 requests 721 KiB 77 67 2.6 s 2.1 s 4.0 s 4.0 s 4.0 s 20 ms HTMLJSONstderr
Codeberg 21 requests 1061 KiB 77 78 5.1 s 3.0 s 3.0 s 3.0 s 7.5 s 110 ms HTMLJSONstderr
GitLab 48 requests 1505 KiB 63 77 3.7 s 1.8 s 1.8 s 1.8 s 10.0 s 270 ms HTMLJSONstderr
Bitbucket 80 requests 2210 KiB 15 100 11.5 s 10.3 s 11.7 s 11.7 s 14.2 s 410 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 89 96 2.5 s 2.5 s 3.2 s 3.2 s 3.2 s 20 ms HTMLJSONstderr
Codeberg 20 requests 1042 KiB 82 86 4.4 s 2.8 s 2.8 s 7.1 s 7.2 s 110 ms HTMLJSONstderr
GitHub 62 requests 505 KiB 74 98 3.2 s 2.5 s 2.5 s 4.6 s 4.8 s 60 ms HTMLJSONstderr
GitLab 47 requests 1488 KiB 66 81 4.1 s 1.7 s 1.7 s 1.7 s 9.5 s 230 ms HTMLJSONstderr
Bitbucket 79 requests 2208 KiB 22 100 11.3 s 10.4 s 11.7 s 11.7 s 14.2 s 430 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 95 ? 4.7 s 1.4 s 1.4 s 1.5 s 1.5 s 100 ms HTMLJSONstderr
GitHub * 60 requests 526 KiB 81 98 3.7 s 2.7 s 2.7 s 5.8 s 6.0 s 460 ms HTMLJSONstderr
Pagure 19 requests 1253 KiB 56 96 5.6 s 5.6 s 6.1 s 6.1 s 6.1 s 20 ms HTMLJSONstderr
GitLab 56 requests 1565 KiB 33 81 2.7 s 1.7 s 3.2 s 3.2 s 13.3 s 590 ms HTMLJSONstderr
Bitbucket * 80 requests 2220 KiB 9 100 11.7 s 10.2 s 11.7 s 11.7 s 14.6 s 840 ms HTMLJSONstderr
Codeberg 20 requests 3581 KiB 6 86 18.3 s 16.1 s 16.1 s 22.0 s 22.1 s 800 ms HTMLJSONstderr
Notes

Log (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 4 requests 37 KiB 100 ? 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 63 requests 495 KiB 90 100 3.6 s 2.5 s 2.5 s 4.1 s 4.4 s 120 ms HTMLJSONstderr
Pagure 69 requests 693 KiB 80 78 3.2 s 3.2 s 4.3 s 4.3 s 4.7 s 90 ms HTMLJSONstderr
Codeberg 25 requests 1443 KiB 74 78 4.9 s 3.3 s 3.3 s 3.3 s 7.8 s 110 ms HTMLJSONstderr
GitLab 47 requests 1362 KiB 63 76 5.5 s 1.7 s 1.7 s 1.7 s 9.0 s 170 ms HTMLJSONstderr
Bitbucket 61 requests 1857 KiB 26 100 10.3 s 10.3 s 10.7 s 10.7 s 12.5 s 330 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.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 69 requests 521 KiB 89 100 3.4 s 2.7 s 2.7 s 4.2 s 4.4 s 160 ms HTMLJSONstderr
Codeberg 20 requests 1191 KiB 64 78 6.0 s 3.7 s 3.7 s 3.7 s 7.7 s 120 ms HTMLJSONstderr
GitLab 66 requests 1382 KiB 62 79 5.5 s 1.9 s 1.9 s 1.9 s 9.2 s 190 ms HTMLJSONstderr
Bitbucket 63 requests 1855 KiB 22 98 10.4 s 10.3 s 10.7 s 12.4 s 12.6 s 350 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 4 requests 36 KiB 100 83 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 63 requests 506 KiB 91 98 3.5 s 2.5 s 3.2 s 4.1 s 4.4 s 140 ms HTMLJSONstderr
Pagure 24 requests 797 KiB 73 72 2.8 s 2.1 s 3.4 s 5.1 s 5.6 s 200 ms HTMLJSONstderr
Codeberg 21 requests 1258 KiB 67 78 5.3 s 3.2 s 3.2 s 7.7 s 8.2 s 120 ms HTMLJSONstderr
GitLab 47 requests 1488 KiB 65 83 3.8 s 1.7 s 2.9 s 2.9 s 10.2 s 230 ms HTMLJSONstderr
Bitbucket 48 requests 16812 KiB 46 92 21.8 s 2.7 s 2.7 s 5.3 s 85.9 s 570 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.9 s 1.4 s 1.4 s 1.4 s 1.4 s 20 ms HTMLJSONstderr
Pagure 22 requests 906 KiB 77 94 10.9 s 2.0 s 3.6 s 4.6 s 4.8 s 180 ms HTMLJSONstderr
GitHub 64 requests 566 KiB 71 98 3.7 s 2.7 s 2.7 s 5.0 s 4.9 s 60 ms HTMLJSONstderr
GitLab 49 requests 2190 KiB 59 87 4.0 s 1.7 s 2.8 s 2.8 s 12.3 s 180 ms HTMLJSONstderr
Codeberg 19 requests 1320 KiB 49 84 6.3 s 4.4 s 4.4 s 8.8 s 8.8 s 180 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 374 KiB 71 ? 6.6 s 2.7 s 2.7 s 3.5 s 3.5 s 440 ms HTMLJSONstderr
GitLab 49 requests 2303 KiB 58 87 3.2 s 1.7 s 2.9 s 2.9 s 12.5 s 170 ms HTMLJSONstderr
GitHub 65 requests 1009 KiB 25 ? 7.6 s 4.8 s 4.8 s 11.0 s 11.0 s 1,680 ms HTMLJSONstderr
Pagure 20 requests 1176 KiB 23 ? 11.5 s 5.8 s 6.9 s 8.1 s 7.8 s 590 ms HTMLJSONstderr
Codeberg 19 requests 5573 KiB 5 ? 38.5 s 26.9 s 26.9 s 37.5 s 37.5 s 2,760 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 64 KiB 100 94 2.4 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 70 requests 558 KiB 86 98 3.8 s 2.7 s 2.7 s 4.8 s 5.2 s 360 ms HTMLJSONstderr
GitLab 31 requests 1337 KiB 68 87 2.6 s 1.8 s 1.8 s 1.8 s 8.5 s 310 ms HTMLJSONstderr
Pagure 21 requests 1220 KiB 47 83 8.4 s 4.6 s 5.4 s 6.6 s 6.8 s 550 ms HTMLJSONstderr
Bitbucket 41 requests 16854 KiB 47 86 21.0 s 2.9 s 2.9 s 5.3 s 86.4 s 360 ms HTMLJSONstderr
Codeberg 24 requests 2201 KiB 26 83 8.2 s 7.7 s 7.7 s 12.6 s 13.0 s 350 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
GitLab 31 requests 1372 KiB 54 89 23.6 s 2.0 s 2.0 s 2.0 s 9.0 s 140 ms HTMLJSONstderr
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 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 51 requests 451 KiB 91 98 3.0 s 2.5 s 2.5 s 4.0 s 4.1 s 100 ms HTMLJSONstderr
Pagure 18 requests 631 KiB 86 80 3.8 s 3.0 s 3.6 s 3.6 s 3.6 s 40 ms HTMLJSONstderr
Bitbucket 32 requests 568 KiB 60 92 4.7 s 4.7 s 4.8 s 5.6 s 5.9 s 220 ms HTMLJSONstderr
GitLab 50 requests 1400 KiB 46 90 4.7 s 1.6 s 2.7 s 2.7 s 9.6 s 530 ms HTMLJSONstderr
Codeberg 621 requests 14944 KiB 34 76 30.2 s 7.1 s 7.1 s 11.1 s 11.2 s 190 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.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 51 requests 452 KiB 91 98 3.3 s 2.5 s 2.5 s 4.0 s 4.4 s 130 ms HTMLJSONstderr
Pagure 20 requests 619 KiB 81 80 3.7 s 3.1 s 3.7 s 3.7 s 3.7 s 30 ms HTMLJSONstderr
Bitbucket 32 requests 568 KiB 60 92 4.8 s 4.8 s 4.9 s 5.4 s 5.7 s 180 ms HTMLJSONstderr
Codeberg 621 requests 14920 KiB 48 78 6.9 s 5.0 s 5.0 s 9.2 s 9.2 s 230 ms HTMLJSONstderr
GitLab 48 requests 1396 KiB 44 84 4.8 s 1.7 s 3.1 s 3.1 s 9.5 s 480 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 1.7 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 80 requests 708 KiB 74 92 6.2 s 3.1 s 3.1 s 5.0 s 5.6 s 200 ms HTMLJSONstderr
Pagure 40 requests 3540 KiB 72 87 2.7 s 2.6 s 3.7 s 3.7 s 3.7 s 40 ms HTMLJSONstderr
Bitbucket 32 requests 568 KiB 62 92 4.7 s 4.7 s 4.8 s 4.8 s 5.0 s 140 ms HTMLJSONstderr
GitLab 85 requests 2351 KiB 37 79 4.2 s 1.7 s 1.7 s 1.7 s 14.5 s 550 ms HTMLJSONstderr
Codeberg 37 requests 2443 KiB 36 78 10.0 s 5.8 s 7.5 s 7.5 s 12.2 s 300 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.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 50 requests 450 KiB 87 98 3.5 s 2.5 s 2.5 s 4.1 s 4.3 s 100 ms HTMLJSONstderr
Pagure 18 requests 573 KiB 78 82 4.2 s 3.2 s 3.2 s 3.2 s 3.2 s 30 ms HTMLJSONstderr
GitLab 52 requests 1522 KiB 64 79 4.9 s 1.7 s 1.7 s 1.7 s 10.0 s 290 ms HTMLJSONstderr
Codeberg 156 requests 6080 KiB 57 76 6.3 s 4.5 s 4.5 s 4.5 s 8.7 s 190 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 99 ? 3.3 s 1.4 s 1.4 s 1.4 s 1.4 s 20 ms HTMLJSONstderr
GitHub 80 requests 697 KiB 70 100 6.6 s 3.1 s 3.1 s 4.7 s 5.0 s 150 ms HTMLJSONstderr
Codeberg 23 requests 1417 KiB 60 76 6.5 s 3.6 s 3.6 s 8.2 s 8.6 s 140 ms HTMLJSONstderr
Pagure 40 requests 3810 KiB 48 85 17.9 s 4.9 s 4.9 s 4.9 s 4.9 s 50 ms HTMLJSONstderr
GitLab 78 requests 2217 KiB 40 84 6.4 s 1.7 s 1.7 s 1.7 s 13.0 s 380 ms HTMLJSONstderr
Bitbucket 133 requests 4115 KiB 17 ? 9.3 s 2.1 s 2.1 s 2.1 s 25.7 s 840 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
GitHub 74 requests 589 KiB 84 97 4.5 s 2.6 s 2.6 s 5.1 s 5.5 s 170 ms HTMLJSONstderr
Pagure 40 requests 3810 KiB 55 85 7.3 s 4.3 s 4.7 s 4.7 s 4.9 s 80 ms HTMLJSONstderr
Codeberg 22 requests 1579 KiB 50 78 6.7 s 4.5 s 4.5 s 9.3 s 9.3 s 170 ms HTMLJSONstderr
GitLab 74 requests 2100 KiB 39 82 7.5 s 1.7 s 3.8 s 3.8 s 12.2 s 440 ms HTMLJSONstderr
Bitbucket * 133 requests 4113 KiB 18 ? 9.4 s 2.0 s 2.0 s 2.0 s 25.6 s 830 ms HTMLJSONstderr
Notes