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 27, 2022 at 14:58 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 16 66 88 83 84 100
Tree (best case) 21 80 71 77 81 100
Tree (worst case) 7 27 48 35 48 89
Log (best case) 19 73 90 70 68 100
Log (worst case) 19 73 88 84 0 100
Commit 42 75 90 87 70 100
Source file (best case) 0 53 73 65 68 100
Source file (worst case) 0 7 24 60 20 62
Blame (best case) 45 40 84 61 26 99
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 53 67 92 52 77 100
Search 53 59 93 51 67 100
Details and comments 53 30 76 37 83 100
Code review
Browsing patches 0 78 92 69 73 100
Patch discussion 15 78 75 41 47 90
Patch diff 14 59 78 50 50 90

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.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 61 requests 515 KiB 88 96 3.8 s 2.4 s 2.4 s 4.3 s 4.9 s 90 ms HTMLJSONstderr
Pagure 19 requests 702 KiB 84 67 4.2 s 3.1 s 3.1 s 3.1 s 3.1 s 40 ms HTMLJSONstderr
GitLab 42 requests 892 KiB 83 83 2.2 s 1.2 s 1.8 s 6.2 s 6.4 s 330 ms HTMLJSONstderr
Codeberg 20 requests 924 KiB 66 82 5.2 s 2.7 s 2.7 s 6.7 s 6.8 s 140 ms HTMLJSONstderr
Bitbucket 72 requests 2759 KiB 16 100 12.7 s 10.5 s 13.2 s 13.2 s 16.0 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 94 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 81 96 2.8 s 2.8 s 2.8 s 2.8 s 2.8 s 30 ms HTMLJSONstderr
Codeberg 20 requests 921 KiB 80 92 5.0 s 2.6 s 2.6 s 6.4 s 6.5 s 130 ms HTMLJSONstderr
GitLab 39 requests 859 KiB 77 81 3.1 s 1.0 s 1.7 s 5.4 s 5.8 s 290 ms HTMLJSONstderr
GitHub 45 requests 445 KiB 71 98 6.6 s 2.4 s 2.4 s 3.8 s 4.0 s 80 ms HTMLJSONstderr
Bitbucket 70 requests 2746 KiB 21 100 12.4 s 10.5 s 13.4 s 13.4 s 16.0 s 460 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 89 ? 6.9 s 1.4 s 1.4 s 1.7 s 1.7 s 370 ms HTMLJSONstderr
GitHub * 44 requests 663 KiB 48 98 10.0 s 2.6 s 2.6 s 7.6 s 8.0 s 1,400 ms HTMLJSONstderr
Pagure 18 requests 1234 KiB 48 96 6.3 s 6.3 s 7.1 s 7.1 s 7.1 s 40 ms HTMLJSONstderr
GitLab 49 requests 1040 KiB 35 81 2.8 s 1.7 s 1.8 s 11.6 s 11.7 s 800 ms HTMLJSONstderr
Codeberg 20 requests 1074 KiB 27 ? 13.0 s 3.7 s 3.7 s 13.5 s 13.6 s 2,320 ms HTMLJSONstderr
Bitbucket * 70 requests 2768 KiB 7 100 13.2 s 10.6 s 13.4 s 13.4 s 16.3 s 1,150 ms HTMLJSONstderr
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.1 s 1.1 s 1.1 s 1.1 s 1.1 s 30 ms HTMLJSONstderr
GitHub 47 requests 435 KiB 90 100 3.6 s 2.4 s 2.4 s 4.0 s 4.5 s 90 ms HTMLJSONstderr
Codeberg 25 requests 1242 KiB 73 82 5.8 s 2.7 s 2.7 s 7.0 s 7.1 s 220 ms HTMLJSONstderr
GitLab 41 requests 686 KiB 70 76 6.8 s 1.2 s 2.9 s 4.9 s 5.5 s 260 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 68 78 5.0 s 4.0 s 5.8 s 5.8 s 6.3 s 110 ms HTMLJSONstderr
Bitbucket 67 requests 1857 KiB 19 100 11.5 s 10.5 s 10.9 s 10.9 s 12.7 s 490 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 ? 1.4 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 45 requests 459 KiB 88 100 3.0 s 2.5 s 2.5 s 4.2 s 4.5 s 170 ms HTMLJSONstderr
GitLab 60 requests 697 KiB 84 79 5.9 s 1.8 s 3.0 s 4.9 s 5.4 s 270 ms HTMLJSONstderr
Codeberg 20 requests 955 KiB 73 82 5.9 s 2.8 s 2.8 s 7.0 s 7.1 s 270 ms HTMLJSONstderr
Bitbucket 69 requests 1882 KiB 19 98 11.6 s 10.6 s 10.9 s 10.9 s 12.8 s 470 ms HTMLJSONstderr
Pagure n/an/a Something went wrong with recording the trace over your page load. Please run Lighthouse again. (NO_FCP) 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 42 requests 436 KiB 90 97 3.5 s 2.3 s 2.3 s 4.0 s 4.5 s 70 ms HTMLJSONstderr
GitLab 42 requests 821 KiB 87 83 3.5 s 1.9 s 3.4 s 6.2 s 6.5 s 260 ms HTMLJSONstderr
Codeberg 21 requests 1061 KiB 75 89 5.3 s 2.6 s 2.6 s 6.9 s 6.9 s 210 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 70 72 4.7 s 3.5 s 5.0 s 7.2 s 8.7 s 230 ms HTMLJSONstderr
Bitbucket 38 requests 3285 KiB 42 91 9.4 s 2.6 s 3.2 s 3.2 s 20.5 s 770 ms HTMLJSONstderr

Source file (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 3 requests 54 KiB 100 94 2.0 s 1.2 s 1.3 s 1.3 s 1.3 s 90 ms HTMLJSONstderr
GitHub 46 requests 509 KiB 73 98 3.8 s 2.5 s 2.5 s 4.5 s 5.0 s 150 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 68 94 4.0 s 2.8 s 5.5 s 5.8 s 5.9 s 250 ms HTMLJSONstderr
GitLab 38 requests 1483 KiB 65 89 3.0 s 1.7 s 1.8 s 5.7 s 6.1 s 340 ms HTMLJSONstderr
Codeberg 19 requests 942 KiB 53 94 6.9 s 2.7 s 2.7 s 7.7 s 7.8 s 480 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 62 ? 10.3 s 2.7 s 3.0 s 3.5 s 3.5 s 740 ms HTMLJSONstderr
GitLab 38 requests 1853 KiB 60 ? 3.6 s 1.7 s 1.7 s 4.8 s 9.1 s 230 ms HTMLJSONstderr
GitHub 46 requests 926 KiB 24 ? 11.3 s 4.6 s 4.6 s 9.9 s 10.3 s 1,070 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 20 ? 10.6 s 5.4 s 7.0 s 7.8 s 7.9 s 1,770 ms HTMLJSONstderr
Codeberg 19 requests 1432 KiB 7 ? 29.5 s 8.1 s 8.1 s 23.3 s 23.3 s 5,620 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 62 KiB 99 94 3.0 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 52 requests 493 KiB 84 98 3.7 s 2.5 s 2.5 s 4.5 s 5.1 s 200 ms HTMLJSONstderr
GitLab 29 requests 686 KiB 61 87 3.1 s 1.9 s 1.9 s 5.4 s 5.8 s 450 ms HTMLJSONstderr
Bitbucket 32 requests 3472 KiB 45 85 8.9 s 2.9 s 3.2 s 3.2 s 20.4 s 540 ms HTMLJSONstderr
Codeberg 24 requests 1218 KiB 40 94 8.6 s 3.1 s 3.1 s 9.2 s 9.2 s 790 ms HTMLJSONstderr
Pagure 20 requests 1201 KiB 26 83 10.5 s 4.7 s 6.6 s 7.3 s 8.8 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.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 37 requests 405 KiB 92 98 2.5 s 2.3 s 2.3 s 3.8 s 4.2 s 140 ms HTMLJSONstderr
Pagure 18 requests 614 KiB 77 80 5.1 s 3.3 s 3.3 s 4.1 s 3.3 s 50 ms HTMLJSONstderr
Codeberg 28 requests 1208 KiB 67 84 5.8 s 2.9 s 2.9 s 7.0 s 7.0 s 160 ms HTMLJSONstderr
Bitbucket 25 requests 637 KiB 53 85 6.0 s 5.2 s 5.2 s 5.9 s 6.4 s 270 ms HTMLJSONstderr
GitLab 39 requests 736 KiB 52 86 3.5 s 1.7 s 1.8 s 6.0 s 6.2 s 620 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 33 KiB 100 89 1.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 37 requests 405 KiB 93 98 2.7 s 2.4 s 2.4 s 3.8 s 4.2 s 110 ms HTMLJSONstderr
Pagure 18 requests 596 KiB 67 80 9.2 s 3.7 s 3.7 s 3.7 s 3.7 s 50 ms HTMLJSONstderr
Codeberg 28 requests 1206 KiB 59 84 6.0 s 4.0 s 4.1 s 7.0 s 7.0 s 170 ms HTMLJSONstderr
Bitbucket 25 requests 637 KiB 53 85 5.9 s 5.2 s 5.4 s 5.9 s 6.5 s 270 ms HTMLJSONstderr
GitLab 40 requests 854 KiB 51 86 3.9 s 1.7 s 3.1 s 6.5 s 6.7 s 690 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 100 91 2.6 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
Pagure 38 requests 3525 KiB 83 87 3.3 s 3.2 s 3.2 s 5.2 s 3.2 s 50 ms HTMLJSONstderr
GitHub 74 requests 700 KiB 76 92 5.2 s 3.0 s 3.0 s 4.8 s 5.7 s 140 ms HTMLJSONstderr
Bitbucket 25 requests 637 KiB 53 85 6.1 s 5.2 s 5.2 s 5.7 s 6.4 s 270 ms HTMLJSONstderr
GitLab 67 requests 1184 KiB 37 73 3.8 s 1.9 s 2.0 s 9.7 s 10.2 s 1,180 ms HTMLJSONstderr
Codeberg 43 requests 2059 KiB 30 84 9.0 s 3.7 s 3.7 s 10.2 s 12.3 s 550 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.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 37 requests 403 KiB 92 98 3.0 s 2.3 s 2.3 s 4.3 s 4.8 s 200 ms HTMLJSONstderr
Codeberg 28 requests 1208 KiB 78 84 5.2 s 2.6 s 2.6 s 6.6 s 6.7 s 170 ms HTMLJSONstderr
Pagure 17 requests 554 KiB 73 82 5.4 s 3.4 s 3.4 s 4.2 s 5.7 s 60 ms HTMLJSONstderr
GitLab 48 requests 836 KiB 69 73 3.9 s 1.9 s 3.5 s 6.0 s 6.4 s 310 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 90 ? 7.1 s 1.1 s 1.1 s 1.1 s 1.1 s 50 ms HTMLJSONstderr
Codeberg 30 requests 1413 KiB 78 90 5.6 s 2.6 s 2.6 s 6.6 s 6.7 s 190 ms HTMLJSONstderr
GitHub 65 requests 651 KiB 75 98 6.6 s 3.0 s 3.0 s 5.3 s 5.7 s 210 ms HTMLJSONstderr
Pagure 39 requests 3318 KiB 47 85 9.0 s 5.3 s 5.8 s 6.9 s 7.0 s 100 ms HTMLJSONstderr
GitLab 62 requests 1190 KiB 41 82 4.1 s 1.1 s 4.3 s 8.9 s 9.2 s 710 ms HTMLJSONstderr
Bitbucket 337 requests 8301 KiB 15 ? 12.1 s 2.2 s 29.0 s 29.0 s 48.8 s 930 ms HTMLJSONstderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut * 2 requests 71 KiB 90 ? 7.1 s 1.1 s 1.1 s 1.1 s 1.1 s 50 ms HTMLJSONstderr
GitHub 54 requests 519 KiB 78 97 4.7 s 2.5 s 2.5 s 4.6 s 5.0 s 130 ms HTMLJSONstderr
Codeberg 22 requests 1186 KiB 59 88 7.3 s 2.8 s 2.8 s 7.5 s 7.6 s 350 ms HTMLJSONstderr
GitLab 57 requests 1217 KiB 50 80 7.3 s 1.9 s 5.0 s 10.1 s 10.4 s 720 ms HTMLJSONstderr
Pagure 39 requests 3318 KiB 50 85 8.1 s 4.7 s 5.1 s 5.1 s 9.4 s 120 ms HTMLJSONstderr
Bitbucket * 337 requests 8312 KiB 14 ? 12.1 s 2.4 s 29.1 s 29.1 s 49.5 s 840 ms HTMLJSONstderr
Notes