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 August 26, 2022 at 15:05 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 14 76 86 72 78 100
Tree (best case) 20 67 77 72 90 100
Tree (worst case) 6 5 45 31 42 89
Log (best case) 15 64 88 84 91 100
Log (worst case) 19 60 88 84 0 100
Commit 37 66 92 85 73 100
Source file (best case) 0 35 73 63 74 100
Source file (worst case) 0 0 27 44 21 63
Blame (best case) 45 12 78 62 38 98
Blame (worst case) 0 0 n/a 42 0 0
Browsing tickets/issues
Browsing 51 50 90 54 91 100
Search 54 69 89 70 90 100
Details and comments 49 20 73 36 62 100
Code review
Browsing patches 0 54 90 62 88 100
Patch discussion 16 55 73 40 48 90
Patch diff 17 34 81 51 53 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 71 requests 554 KiB 86 96 3.6 s 2.6 s 2.6 s 2.9 s 3.1 s 80 ms HTMLJSONstderr
Pagure 20 requests 721 KiB 78 67 2.7 s 2.1 s 3.9 s 3.9 s 3.9 s 20 ms HTMLJSONstderr
Codeberg 20 requests 969 KiB 76 78 5.2 s 2.9 s 2.9 s 6.8 s 6.9 s 140 ms HTMLJSONstderr
GitLab 42 requests 903 KiB 72 77 3.0 s 1.7 s 1.7 s 6.3 s 6.4 s 210 ms HTMLJSONstderr
Bitbucket 74 requests 2327 KiB 14 100 11.6 s 9.6 s 11.9 s 11.9 s 15.6 s 450 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 19 requests 519 KiB 90 96 2.0 s 2.0 s 2.7 s 3.5 s 3.8 s 60 ms HTMLJSONstderr
GitHub 55 requests 467 KiB 77 98 3.0 s 2.4 s 2.4 s 4.2 s 4.4 s 60 ms HTMLJSONstderr
GitLab 38 requests 869 KiB 72 81 3.7 s 1.8 s 3.0 s 5.4 s 5.8 s 290 ms HTMLJSONstderr
Codeberg 20 requests 957 KiB 67 87 6.4 s 3.4 s 3.4 s 7.4 s 7.4 s 150 ms HTMLJSONstderr
Bitbucket 72 requests 2806 KiB 20 100 12.1 s 9.8 s 13.2 s 13.2 s 18.0 s 450 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 ? 7.2 s 1.6 s 1.6 s 1.7 s 1.7 s 130 ms HTMLJSONstderr
GitHub * 54 requests 678 KiB 45 98 7.0 s 2.5 s 2.5 s 11.5 s 11.6 s 1,520 ms HTMLJSONstderr
Pagure 19 requests 1241 KiB 42 96 10.5 s 5.9 s 7.1 s 7.1 s 7.1 s 30 ms HTMLJSONstderr
GitLab 47 requests 945 KiB 31 81 5.0 s 1.8 s 3.1 s 12.0 s 12.3 s 1,140 ms HTMLJSONstderr
Bitbucket * 71 requests 3030 KiB 6 100 13.6 s 10.9 s 14.3 s 14.3 s 16.8 s 1,280 ms HTMLJSONstderr
Codeberg 21 requests 3371 KiB 5 ? 31.6 s 19.6 s 19.6 s 28.6 s 28.6 s 1,830 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 20 ms HTMLJSONstderr
Pagure 69 requests 693 KiB 91 78 2.8 s 2.6 s 4.1 s 4.1 s 4.1 s 190 ms HTMLJSONstderr
GitHub 58 requests 463 KiB 88 100 3.7 s 2.4 s 2.4 s 4.3 s 4.7 s 70 ms HTMLJSONstderr
GitLab 40 requests 690 KiB 84 76 3.9 s 2.0 s 2.0 s 5.2 s 5.6 s 430 ms HTMLJSONstderr
Codeberg 25 requests 1360 KiB 64 84 6.4 s 3.5 s 3.5 s 7.5 s 7.5 s 230 ms HTMLJSONstderr
Bitbucket 68 requests 1735 KiB 15 100 11.3 s 9.8 s 10.3 s 12.0 s 12.2 s 510 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.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 64 requests 484 KiB 88 100 3.5 s 2.4 s 2.4 s 4.7 s 4.9 s 70 ms HTMLJSONstderr
GitLab 59 requests 701 KiB 84 79 6.0 s 1.8 s 2.8 s 5.1 s 5.5 s 210 ms HTMLJSONstderr
Codeberg 20 requests 1110 KiB 60 84 7.1 s 3.7 s 3.7 s 7.7 s 7.8 s 220 ms HTMLJSONstderr
Bitbucket 70 requests 1758 KiB 19 98 10.6 s 9.6 s 10.2 s 10.2 s 12.2 s 390 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 57 requests 477 KiB 92 98 3.9 s 2.3 s 2.3 s 2.3 s 2.3 s 50 ms HTMLJSONstderr
GitLab 39 requests 825 KiB 85 83 4.0 s 1.8 s 3.3 s 6.3 s 6.5 s 320 ms HTMLJSONstderr
Pagure 24 requests 797 KiB 73 72 2.8 s 2.1 s 3.4 s 5.4 s 5.7 s 200 ms HTMLJSONstderr
Codeberg 21 requests 1172 KiB 66 89 6.5 s 3.3 s 3.3 s 7.4 s 7.5 s 200 ms HTMLJSONstderr
Bitbucket 38 requests 9733 KiB 37 91 15.4 s 3.0 s 3.5 s 6.8 s 52.4 s 660 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.2 s 1.2 s 1.3 s 1.3 s 1.3 s 70 ms HTMLJSONstderr
Pagure 22 requests 906 KiB 74 94 2.4 s 2.0 s 4.7 s 4.7 s 4.9 s 270 ms HTMLJSONstderr
GitHub 56 requests 534 KiB 73 98 3.1 s 2.4 s 2.4 s 4.7 s 5.1 s 90 ms HTMLJSONstderr
GitLab 41 requests 1570 KiB 63 89 3.7 s 1.7 s 3.0 s 5.8 s 8.4 s 230 ms HTMLJSONstderr
Codeberg 19 requests 1236 KiB 35 89 8.1 s 4.3 s 4.3 s 9.0 s 9.0 s 410 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 63 ? 8.8 s 2.7 s 3.0 s 3.6 s 3.6 s 800 ms HTMLJSONstderr
GitLab 40 requests 1684 KiB 44 ? 3.6 s 1.7 s 1.7 s 6.4 s 9.0 s 750 ms HTMLJSONstderr
GitHub 66 requests 964 KiB 27 ? 8.7 s 4.5 s 4.5 s 8.4 s 9.0 s 990 ms HTMLJSONstderr
Pagure 20 requests 1176 KiB 21 ? 9.2 s 4.8 s 7.0 s 7.6 s 7.6 s 1,540 ms HTMLJSONstderr
Bitbucket n/an/a An error occured, see the log for more details. HTML JSON stderr
Codeberg 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 98 94 2.7 s 1.2 s 1.3 s 1.3 s 1.3 s 100 ms HTMLJSONstderr
GitHub 63 requests 511 KiB 78 98 4.4 s 2.6 s 2.6 s 5.0 s 5.5 s 220 ms HTMLJSONstderr
GitLab 28 requests 687 KiB 62 87 2.5 s 1.1 s 1.8 s 5.7 s 5.8 s 430 ms HTMLJSONstderr
Bitbucket 32 requests 9790 KiB 45 85 17.2 s 3.2 s 3.5 s 6.9 s 51.7 s 430 ms HTMLJSONstderr
Pagure 21 requests 1220 KiB 38 83 24.4 s 4.3 s 5.5 s 6.1 s 6.3 s 830 ms HTMLJSONstderr
Codeberg 24 requests 2140 KiB 12 89 9.1 s 7.5 s 9.4 s 13.2 s 13.6 s 700 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
GitLab 28 requests 725 KiB 42 89 24.6 s 2.0 s 2.0 s 5.7 s 6.0 s 680 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: 500) HTML JSON stderr
Codeberg n/an/a Something went wrong with recording the trace over your page load. Please run Lighthouse again. (NO_FCP) HTML JSON stderr
Pagure 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
SourceHut 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.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Pagure 17 requests 624 KiB 91 89 3.5 s 2.5 s 3.6 s 4.2 s 4.2 s 60 ms HTMLJSONstderr
GitHub 46 requests 416 KiB 90 98 2.8 s 2.4 s 2.4 s 4.1 s 4.5 s 100 ms HTMLJSONstderr
GitLab 38 requests 747 KiB 54 92 4.8 s 1.7 s 3.1 s 6.1 s 6.2 s 570 ms HTMLJSONstderr
Bitbucket 26 requests 617 KiB 51 85 6.0 s 5.0 s 5.1 s 5.8 s 6.4 s 360 ms HTMLJSONstderr
Codeberg 30 requests 1827 KiB 50 86 6.9 s 5.0 s 5.0 s 9.6 s 9.7 s 180 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
Pagure 19 requests 613 KiB 90 80 3.3 s 2.5 s 3.5 s 4.2 s 4.6 s 50 ms HTMLJSONstderr
GitHub 46 requests 417 KiB 89 98 3.5 s 2.7 s 2.7 s 4.1 s 4.5 s 100 ms HTMLJSONstderr
GitLab 38 requests 747 KiB 70 92 3.9 s 1.7 s 3.2 s 5.7 s 5.8 s 320 ms HTMLJSONstderr
Codeberg 30 requests 1794 KiB 69 86 5.6 s 3.4 s 3.4 s 7.3 s 7.5 s 140 ms HTMLJSONstderr
Bitbucket 26 requests 616 KiB 54 85 5.3 s 5.1 s 5.2 s 5.6 s 6.3 s 370 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 1.8 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 77 requests 692 KiB 73 92 5.9 s 3.0 s 3.0 s 5.1 s 5.9 s 120 ms HTMLJSONstderr
Pagure 39 requests 3538 KiB 62 87 6.8 s 2.5 s 2.8 s 4.6 s 4.9 s 80 ms HTMLJSONstderr
Bitbucket 26 requests 616 KiB 49 85 6.4 s 5.4 s 5.4 s 5.9 s 6.6 s 530 ms HTMLJSONstderr
GitLab 75 requests 1497 KiB 36 78 4.3 s 2.0 s 2.0 s 9.9 s 10.9 s 680 ms HTMLJSONstderr
Codeberg 39 requests 2349 KiB 20 78 13.4 s 8.5 s 10.1 s 14.6 s 16.7 s 560 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.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 46 requests 415 KiB 90 98 3.2 s 2.4 s 2.4 s 4.2 s 4.5 s 140 ms HTMLJSONstderr
Pagure 18 requests 570 KiB 88 82 4.1 s 2.8 s 3.5 s 3.5 s 3.5 s 30 ms HTMLJSONstderr
GitLab 45 requests 847 KiB 62 79 2.9 s 1.2 s 1.8 s 6.5 s 6.9 s 420 ms HTMLJSONstderr
Codeberg 30 requests 1861 KiB 54 86 7.3 s 4.5 s 4.5 s 8.9 s 8.9 s 150 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.0 s 1.1 s 1.1 s 1.2 s 1.2 s 50 ms HTMLJSONstderr
GitHub 75 requests 664 KiB 73 98 5.9 s 3.0 s 3.0 s 5.9 s 6.2 s 150 ms HTMLJSONstderr
Codeberg 26 requests 1437 KiB 55 84 7.7 s 3.6 s 3.6 s 7.7 s 9.8 s 150 ms HTMLJSONstderr
Pagure 40 requests 3402 KiB 48 85 13.4 s 3.8 s 4.9 s 7.2 s 7.4 s 80 ms HTMLJSONstderr
GitLab 63 requests 1267 KiB 40 82 4.5 s 1.9 s 2.0 s 9.2 s 9.4 s 460 ms HTMLJSONstderr
Bitbucket 130 requests 3980 KiB 16 ? 8.9 s 2.8 s 11.5 s 11.5 s 26.8 s 690 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.2 s 1.2 s 60 ms HTMLJSONstderr
GitHub 69 requests 548 KiB 81 97 5.0 s 2.6 s 2.6 s 5.1 s 5.7 s 130 ms HTMLJSONstderr
Pagure 40 requests 3402 KiB 53 85 9.7 s 3.8 s 4.7 s 6.1 s 6.2 s 100 ms HTMLJSONstderr
GitLab 60 requests 1282 KiB 51 80 7.3 s 2.0 s 5.1 s 10.1 s 10.4 s 710 ms HTMLJSONstderr
Codeberg 22 requests 1503 KiB 34 88 8.3 s 4.7 s 4.7 s 9.5 s 9.6 s 360 ms HTMLJSONstderr
Bitbucket * 130 requests 4418 KiB 17 ? 8.7 s 2.2 s 15.6 s 15.6 s 28.2 s 740 ms HTMLJSONstderr
Notes