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 22, 2021 at 15:39 UTC, and were generated with Lighthouse 7.0.0. Patches welcome!

Disclaimer: This website is maintained by SourceHut.

Expand for details on methodology

We ran Lighthouse 7.0.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 24 88 83 65 85 100
Tree (best case) 26 90 80 68 84 100
Tree (worst case) 8 38 0 0 47 99
Log (best case) 19 72 80 69 78 100
Log (worst case) 26 82 86 71 0 100
Commit 49 91 86 73 73 100
Source file (best case) 17 80 80 74 65 100
Source file (worst case) 7 20 24 32 17 65
Blame (best case) 44 72 85 49 28 100
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 39 87 90 70 74 100
Search 49 87 85 71 72 100
Details and comments 52 45 75 39 56 100
Code review
Browsing patches 33 96 85 70 67 100
Patch discussion 38 79 61 41 47 89
Patch diff 36 89 72 24 45 89

Browsing Git repositories

Summary page

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 32 KiB 100 100 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 15 requests 607 KiB 88 78 3.2 s 1.7 s 2.5 s 3.8 s 3.8 s 190 ms HTMLJSONstderr
Pagure 19 requests 704 KiB 85 67 3.6 s 2.9 s 2.9 s 2.9 s 2.9 s 30 ms HTMLJSONstderr
GitHub 34 requests 428 KiB 83 96 3.0 s 2.8 s 2.8 s 3.8 s 4.2 s 60 ms HTMLJSONstderr
GitLab 36 requests 786 KiB 65 78 3.2 s 1.8 s 3.1 s 6.2 s 6.3 s 400 ms HTMLJSONstderr
Bitbucket 60 requests 1498 KiB 24 100 9.7 s 8.2 s 9.1 s 11.3 s 11.3 s 770 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 93 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 14 requests 601 KiB 90 81 2.9 s 1.7 s 2.5 s 3.7 s 3.7 s 130 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 84 96 2.8 s 2.8 s 2.8 s 3.8 s 3.8 s 60 ms HTMLJSONstderr
GitHub 22 requests 369 KiB 80 98 3.4 s 3.3 s 3.3 s 3.7 s 3.9 s 70 ms HTMLJSONstderr
GitLab 33 requests 730 KiB 68 82 3.5 s 1.8 s 3.1 s 5.9 s 6.0 s 450 ms HTMLJSONstderr
Bitbucket 58 requests 1496 KiB 26 100 9.5 s 8.3 s 9.2 s 11.4 s 11.4 s 730 ms HTMLJSONstderr

Tree (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 78 KiB 99 93 2.1 s 1.4 s 1.4 s 2.0 s 2.1 s 90 ms HTMLJSONstderr
Pagure 18 requests 1226 KiB 47 96 6.3 s 6.3 s 6.7 s 7.5 s 7.6 s 100 ms HTMLJSONstderr
Codeberg 14 requests 752 KiB 38 ? 9.6 s 3.1 s 3.1 s 13.5 s 13.6 s 6,990 ms HTMLJSONstderr
Bitbucket * 58 requests 1507 KiB 8 100 12.4 s 8.6 s 9.6 s 12.8 s 12.9 s 1,790 ms HTMLJSONstderr
GitHub * n/an/a An error occured, see the log for more details. HTML JSON stderr
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.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 24 requests 372 KiB 80 100 4.4 s 2.8 s 3.0 s 3.9 s 4.2 s 250 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 78 78 3.3 s 3.1 s 4.0 s 4.8 s 5.2 s 200 ms HTMLJSONstderr
Codeberg 42 requests 746 KiB 72 90 4.0 s 2.0 s 2.9 s 4.4 s 4.4 s 410 ms HTMLJSONstderr
GitLab 36 requests 684 KiB 69 81 4.9 s 1.7 s 3.0 s 4.6 s 4.9 s 410 ms HTMLJSONstderr
Bitbucket 45 requests 1277 KiB 19 100 9.7 s 8.3 s 8.6 s 9.7 s 10.0 s 840 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 94 1.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 38 requests 420 KiB 86 100 3.3 s 2.8 s 2.8 s 3.4 s 3.7 s 80 ms HTMLJSONstderr
Codeberg 48 requests 638 KiB 82 90 6.4 s 1.9 s 1.9 s 4.6 s 4.6 s 370 ms HTMLJSONstderr
GitLab 56 requests 705 KiB 71 81 4.8 s 1.7 s 2.3 s 4.9 s 5.1 s 410 ms HTMLJSONstderr
Bitbucket 48 requests 1273 KiB 26 98 10.3 s 8.7 s 9.0 s 10.1 s 10.3 s 1,040 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
Codeberg 22 requests 854 KiB 91 88 3.9 s 1.9 s 1.9 s 4.8 s 4.8 s 120 ms HTMLJSONstderr
GitHub 19 requests 375 KiB 86 97 2.9 s 2.8 s 2.8 s 3.8 s 4.1 s 80 ms HTMLJSONstderr
GitLab 36 requests 810 KiB 73 84 3.6 s 1.7 s 3.1 s 5.3 s 5.4 s 290 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 73 72 4.3 s 3.1 s 4.4 s 6.7 s 8.4 s 290 ms HTMLJSONstderr
Bitbucket 36 requests 2379 KiB 49 94 5.8 s 3.3 s 3.3 s 4.8 s 16.1 s 680 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 1.4 s 1.3 s 1.3 s 1.3 s 1.3 s 20 ms HTMLJSONstderr
GitHub 21 requests 416 KiB 80 98 3.2 s 2.8 s 2.8 s 3.6 s 4.1 s 70 ms HTMLJSONstderr
Codeberg 12 requests 621 KiB 80 96 3.9 s 2.0 s 2.8 s 4.6 s 4.6 s 180 ms HTMLJSONstderr
GitLab 27 requests 668 KiB 74 85 3.1 s 1.7 s 3.1 s 4.7 s 4.8 s 240 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 65 94 4.6 s 2.8 s 5.4 s 6.0 s 5.9 s 320 ms HTMLJSONstderr
Bitbucket 66 requests 1968 KiB 17 98 11.3 s 8.3 s 10.5 s 13.9 s 14.3 s 730 ms HTMLJSONstderr

Source file (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 3 requests 341 KiB 65 ? 4.0 s 2.6 s 2.6 s 4.7 s 4.7 s 180 ms HTMLJSONstderr
GitLab 27 requests 919 KiB 32 ? 5.9 s 1.7 s 3.3 s 11.5 s 11.5 s 3,050 ms HTMLJSONstderr
GitHub 31 requests 795 KiB 24 ? 10.4 s 4.5 s 4.5 s 11.9 s 12.0 s 1,500 ms HTMLJSONstderr
Codeberg 12 requests 1103 KiB 20 ? 12.1 s 4.7 s 4.7 s 14.6 s 14.7 s 1,770 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 17 ? 13.0 s 5.3 s 6.7 s 8.3 s 8.3 s 1,620 ms HTMLJSONstderr
Bitbucket 70 requests 3069 KiB 7 98 12.3 s 8.6 s 11.0 s 11.9 s 21.0 s 860 ms HTMLJSONstderr

Blame (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 3 requests 61 KiB 100 94 1.6 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 32 requests 437 KiB 85 98 3.5 s 3.0 s 3.0 s 4.3 s 4.7 s 400 ms HTMLJSONstderr
Codeberg 38 requests 771 KiB 72 96 4.5 s 2.0 s 2.0 s 5.0 s 5.0 s 710 ms HTMLJSONstderr
GitLab 35 requests 705 KiB 49 82 4.6 s 1.8 s 3.2 s 6.4 s 6.7 s 1,480 ms HTMLJSONstderr
Bitbucket 31 requests 2462 KiB 44 85 7.2 s 2.8 s 2.8 s 4.9 s 16.5 s 580 ms HTMLJSONstderr
Pagure 20 requests 1202 KiB 28 83 8.2 s 4.4 s 6.8 s 8.2 s 8.3 s 850 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
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
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
Notes

Browsing tickets/issues

Browsing

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 36 KiB 100 100 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 18 requests 360 KiB 90 98 2.9 s 2.8 s 2.8 s 3.6 s 3.8 s 80 ms HTMLJSONstderr
Codeberg 27 requests 884 KiB 87 86 2.8 s 1.8 s 1.8 s 3.9 s 3.9 s 150 ms HTMLJSONstderr
Pagure 16 requests 620 KiB 74 87 4.3 s 3.2 s 3.8 s 4.4 s 4.5 s 130 ms HTMLJSONstderr
GitLab 39 requests 808 KiB 70 68 4.1 s 1.8 s 3.1 s 5.7 s 5.8 s 330 ms HTMLJSONstderr
Bitbucket 36 requests 2349 KiB 39 92 7.7 s 3.8 s 3.8 s 4.5 s 15.8 s 740 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 35 KiB 100 100 2.0 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 27 requests 884 KiB 87 86 3.0 s 1.8 s 1.8 s 3.9 s 3.9 s 150 ms HTMLJSONstderr
GitHub 18 requests 360 KiB 85 98 2.9 s 2.8 s 2.8 s 3.6 s 3.9 s 100 ms HTMLJSONstderr
Pagure 17 requests 582 KiB 72 78 4.5 s 3.0 s 3.0 s 4.2 s 5.2 s 80 ms HTMLJSONstderr
GitLab 37 requests 806 KiB 71 68 3.7 s 1.7 s 3.0 s 5.6 s 5.7 s 340 ms HTMLJSONstderr
Bitbucket 34 requests 2347 KiB 49 92 7.6 s 2.8 s 2.8 s 4.6 s 15.3 s 710 ms HTMLJSONstderr

Details and comments

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 58 KiB 100 91 1.9 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 46 requests 591 KiB 75 98 5.2 s 3.1 s 3.3 s 4.4 s 4.8 s 90 ms HTMLJSONstderr
Pagure 38 requests 3527 KiB 56 87 5.1 s 3.2 s 3.2 s 6.4 s 10.6 s 80 ms HTMLJSONstderr
Bitbucket 34 requests 2364 KiB 52 94 8.2 s 2.8 s 2.8 s 4.5 s 14.4 s 640 ms HTMLJSONstderr
Codeberg 44 requests 1349 KiB 45 ? 8.9 s 2.7 s 3.6 s 7.1 s 8.3 s 230 ms HTMLJSONstderr
GitLab 65 requests 1213 KiB 39 76 4.1 s 1.9 s 1.9 s 8.8 s 9.0 s 1,180 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 91 1.3 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 27 requests 884 KiB 96 86 3.0 s 1.8 s 1.8 s 3.9 s 4.0 s 180 ms HTMLJSONstderr
GitHub 18 requests 356 KiB 85 98 3.3 s 2.8 s 2.8 s 3.6 s 3.8 s 180 ms HTMLJSONstderr
GitLab 33 requests 746 KiB 70 68 4.3 s 1.7 s 3.0 s 4.9 s 5.0 s 300 ms HTMLJSONstderr
Pagure 17 requests 538 KiB 67 82 5.4 s 3.4 s 3.4 s 4.3 s 5.7 s 60 ms HTMLJSONstderr
Bitbucket 83 requests 2065 KiB 33 100 8.3 s 8.3 s 8.4 s 10.2 s 10.5 s 820 ms HTMLJSONstderr

Patch discussion

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 71 KiB 89 ? 7.4 s 1.1 s 1.1 s 1.1 s 1.2 s 70 ms HTMLJSONstderr
Codeberg 21 requests 879 KiB 79 84 4.0 s 1.8 s 2.9 s 5.2 s 5.5 s 150 ms HTMLJSONstderr
GitHub 32 requests 575 KiB 61 98 7.7 s 3.6 s 3.8 s 4.9 s 5.5 s 160 ms HTMLJSONstderr
Pagure 39 requests 2917 KiB 47 68 7.8 s 4.6 s 5.5 s 7.3 s 7.6 s 110 ms HTMLJSONstderr
GitLab 56 requests 1251 KiB 41 79 4.4 s 1.8 s 3.9 s 3.9 s 8.4 s 790 ms HTMLJSONstderr
Bitbucket 40 requests 4109 KiB 38 88 10.8 s 2.9 s 2.9 s 5.0 s 24.8 s 760 ms HTMLJSONstderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
Codeberg 20 requests 874 KiB 89 87 4.2 s 2.2 s 2.2 s 5.1 s 5.1 s 160 ms HTMLJSONstderr
SourceHut * 2 requests 71 KiB 89 ? 7.5 s 1.1 s 1.1 s 1.2 s 1.2 s 70 ms HTMLJSONstderr
GitHub 20 requests 515 KiB 72 97 5.6 s 3.8 s 3.8 s 4.1 s 4.6 s 220 ms HTMLJSONstderr
Pagure 39 requests 2917 KiB 45 68 8.7 s 4.7 s 5.6 s 7.5 s 7.6 s 90 ms HTMLJSONstderr
Bitbucket * 38 requests 4105 KiB 36 88 9.7 s 2.9 s 12.8 s 12.8 s 24.7 s 860 ms HTMLJSONstderr
GitLab 56 requests 1290 KiB 24 84 10.3 s 1.8 s 5.4 s 10.9 s 11.1 s 930 ms HTMLJSONstderr
Notes