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 September 18, 2020 at 19:06 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 \
    --emulated-form-factor=none \
    --throttling.cpuSlowdownMultiplier=1

The emulated mobile form factor was disabled 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 8 29 42 21 46 96
Tree (best case) 6 48 54 25 49 96
Tree (worst case) 6 11 14 3 33 86
Log (best case) 9 38 50 35 43 95
Log (worst case) 8 45 51 36 0 81
Commit 20 44 54 37 37 96
Source file (best case) 0 35 44 32 32 93
Source file (worst case) 0 2 25 13 5 30
Blame (best case) 19 18 48 14 9 92
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 21 47 55 36 39 96
Search 22 46 55 36 44 94
Details and comments 27 10 37 10 35 83
Code review
Browsing patches ? 46 56 38 38 94
Patch discussion 0 33 47 16 30 84
Patch diff 0 16 47 6 30 84

Browsing Git repositories

Summary page

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 30 KiB 96 95 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Pagure 19 requests 704 KiB 46 67 3.7 s 3.4 s 3.4 s 3.4 s 3.4 s 40 ms HTMLJSONstderr
GitHub 36 requests 468 KiB 42 95 3.6 s 2.5 s 2.5 s 3.6 s 4.6 s 70 ms HTMLJSONstderr
Codeberg 24 requests 1131 KiB 29 78 6.1 s 2.1 s 3.6 s 7.5 s 7.6 s 230 ms HTMLJSONstderr
GitLab 34 requests 880 KiB 21 79 3.4 s 2.8 s 2.8 s 6.1 s 6.2 s 310 ms HTMLJSONstderr
Bitbucket 48 requests 2867 KiB 8 100 8.7 s 8.0 s 8.7 s 10.7 s 10.8 s 720 ms HTMLJSONstderr

Tree (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 28 KiB 96 93 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 24 requests 330 KiB 54 100 2.7 s 2.5 s 2.5 s 2.5 s 2.5 s 30 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 49 96 3.1 s 2.6 s 2.6 s 4.1 s 4.2 s 60 ms HTMLJSONstderr
Codeberg 21 requests 737 KiB 48 81 3.9 s 1.8 s 3.2 s 3.9 s 3.9 s 140 ms HTMLJSONstderr
GitLab 32 requests 870 KiB 25 82 2.9 s 2.6 s 2.6 s 5.9 s 5.9 s 340 ms HTMLJSONstderr
Bitbucket 46 requests 2866 KiB 6 100 8.7 s 8.3 s 9.1 s 11.0 s 11.0 s 740 ms HTMLJSONstderr

Tree (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 76 KiB 86 93 1.9 s 1.4 s 1.4 s 1.5 s 1.5 s 80 ms HTMLJSONstderr
Pagure 18 requests 1234 KiB 33 96 6.3 s 6.3 s 6.7 s 7.8 s 7.8 s 60 ms HTMLJSONstderr
GitHub * 22 requests 634 KiB 14 100 4.9 s 2.8 s 2.8 s 4.8 s 5.1 s 920 ms HTMLJSONstderr
Codeberg 21 requests 867 KiB 11 ? 15.7 s 2.7 s 3.9 s 15.7 s 15.9 s 4,790 ms HTMLJSONstderr
Bitbucket * 46 requests 2877 KiB 6 100 9.8 s 8.1 s 8.8 s 11.0 s 11.1 s 850 ms HTMLJSONstderr
GitLab 49 requests 962 KiB 3 82 6.5 s 2.9 s 3.2 s 23.7 s 23.9 s 1,930 ms HTMLJSONstderr
Notes

Log (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 31 KiB 95 94 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 30 requests 350 KiB 50 100 3.1 s 2.5 s 2.5 s 3.3 s 3.9 s 80 ms HTMLJSONstderr
Pagure 68 requests 703 KiB 43 78 3.6 s 3.2 s 4.4 s 5.1 s 5.2 s 180 ms HTMLJSONstderr
Codeberg 49 requests 881 KiB 38 84 9.0 s 2.4 s 2.4 s 4.8 s 4.9 s 220 ms HTMLJSONstderr
GitLab 36 requests 747 KiB 35 76 4.4 s 2.6 s 2.6 s 5.4 s 5.9 s 380 ms HTMLJSONstderr
Bitbucket 38 requests 2578 KiB 9 100 8.3 s 8.0 s 8.1 s 9.0 s 9.2 s 710 ms HTMLJSONstderr

Log (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 37 KiB 81 94 20.7 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 39 requests 388 KiB 51 100 3.7 s 2.5 s 2.5 s 3.3 s 3.7 s 70 ms HTMLJSONstderr
Codeberg 55 requests 773 KiB 45 84 10.6 s 2.3 s 2.3 s 4.7 s 4.9 s 200 ms HTMLJSONstderr
GitLab 56 requests 896 KiB 36 76 5.3 s 2.6 s 2.6 s 5.3 s 5.8 s 290 ms HTMLJSONstderr
Bitbucket 42 requests 2573 KiB 8 98 8.5 s 7.8 s 7.9 s 9.0 s 9.2 s 720 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 32 KiB 96 83 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 23 requests 336 KiB 54 97 3.2 s 2.5 s 2.7 s 2.7 s 2.7 s 50 ms HTMLJSONstderr
Codeberg 31 requests 1059 KiB 44 89 5.0 s 1.9 s 4.5 s 4.8 s 5.2 s 120 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 37 72 4.3 s 3.4 s 4.9 s 6.5 s 8.4 s 230 ms HTMLJSONstderr
GitLab 31 requests 728 KiB 37 86 4.6 s 3.1 s 3.1 s 5.7 s 5.8 s 200 ms HTMLJSONstderr
Bitbucket 29 requests 2862 KiB 20 94 5.3 s 3.4 s 3.4 s 3.4 s 18.0 s 630 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 93 94 1.2 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 35 requests 472 KiB 44 97 3.0 s 2.6 s 2.6 s 3.7 s 4.8 s 80 ms HTMLJSONstderr
Codeberg 21 requests 1132 KiB 35 96 4.1 s 1.8 s 3.5 s 7.1 s 7.3 s 150 ms HTMLJSONstderr
GitLab 28 requests 684 KiB 32 81 3.2 s 2.6 s 2.6 s 5.1 s 5.3 s 290 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 32 94 3.4 s 2.7 s 5.2 s 5.9 s 5.9 s 280 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 340 KiB 30 ? 4.2 s 2.6 s 2.6 s 3.9 s 4.0 s 170 ms HTMLJSONstderr
GitHub 35 requests 826 KiB 25 ? 12.5 s 4.8 s 4.8 s 6.0 s 6.9 s 240 ms HTMLJSONstderr
GitLab 28 requests 1041 KiB 13 ? 3.6 s 3.5 s 3.5 s 11.1 s 11.2 s 2,780 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 5 ? 33.4 s 5.6 s 7.1 s 9.4 s 9.5 s 1,370 ms HTMLJSONstderr
Codeberg 21 requests 1488 KiB 2 ? 16.4 s 4.3 s 6.1 s 9.4 s 11.4 s 1,330 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 92 94 1.4 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 34 requests 396 KiB 48 98 3.9 s 2.6 s 2.6 s 3.9 s 4.8 s 140 ms HTMLJSONstderr
Bitbucket 26 requests 2949 KiB 19 86 5.9 s 2.9 s 2.9 s 2.9 s 18.1 s 630 ms HTMLJSONstderr
Codeberg 47 requests 1287 KiB 18 96 4.6 s 2.1 s 3.6 s 7.8 s 8.1 s 630 ms HTMLJSONstderr
GitLab 38 requests 921 KiB 14 87 3.8 s 3.2 s 3.2 s 7.0 s 8.4 s 1,560 ms HTMLJSONstderr
Pagure 20 requests 1196 KiB 9 83 9.0 s 4.3 s 7.2 s 8.2 s 8.1 s 830 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
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
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 33 KiB 96 82 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 27 requests 338 KiB 55 98 3.1 s 2.5 s 2.5 s 3.3 s 3.3 s 70 ms HTMLJSONstderr
Codeberg 34 requests 1022 KiB 47 80 4.1 s 1.9 s 3.4 s 4.0 s 4.1 s 140 ms HTMLJSONstderr
Pagure 16 requests 617 KiB 39 89 4.8 s 3.4 s 3.4 s 4.8 s 5.4 s 90 ms HTMLJSONstderr
GitLab 37 requests 1018 KiB 36 75 3.8 s 3.1 s 3.1 s 5.9 s 6.5 s 170 ms HTMLJSONstderr
Bitbucket 31 requests 2768 KiB 21 92 7.1 s 3.0 s 3.0 s 3.8 s 17.2 s 650 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 33 KiB 94 82 1.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 27 requests 339 KiB 55 98 2.8 s 2.5 s 2.5 s 3.2 s 3.5 s 60 ms HTMLJSONstderr
Codeberg 34 requests 1022 KiB 46 80 4.1 s 2.0 s 3.4 s 4.1 s 4.2 s 120 ms HTMLJSONstderr
Pagure 17 requests 574 KiB 44 80 5.1 s 3.5 s 3.5 s 3.5 s 3.5 s 50 ms HTMLJSONstderr
GitLab 35 requests 821 KiB 36 66 3.7 s 2.6 s 2.6 s 5.5 s 5.5 s 180 ms HTMLJSONstderr
Bitbucket 30 requests 2767 KiB 22 92 7.3 s 3.4 s 3.4 s 3.4 s 17.1 s 630 ms HTMLJSONstderr

Details and comments

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 57 KiB 83 91 2.9 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 49 requests 637 KiB 37 97 5.2 s 2.9 s 2.9 s 4.0 s 5.5 s 100 ms HTMLJSONstderr
Pagure 38 requests 3526 KiB 35 87 3.4 s 3.2 s 3.2 s 6.1 s 8.1 s 60 ms HTMLJSONstderr
Bitbucket 32 requests 2789 KiB 27 94 6.8 s 2.9 s 2.9 s 2.9 s 17.2 s 640 ms HTMLJSONstderr
GitLab 79 requests 1812 KiB 10 71 4.1 s 2.7 s 2.7 s 9.0 s 8.6 s 1,570 ms HTMLJSONstderr
Codeberg 49 requests 1898 KiB 10 84 10.6 s 2.7 s 5.8 s 7.1 s 12.2 s 830 ms HTMLJSONstderr

Code review

Browsing patches

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 29 KiB 94 73 1.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 27 requests 337 KiB 56 98 3.2 s 2.5 s 2.5 s 3.3 s 3.3 s 80 ms HTMLJSONstderr
Codeberg 34 requests 1022 KiB 46 80 3.8 s 1.9 s 3.4 s 4.0 s 4.0 s 130 ms HTMLJSONstderr
GitLab 32 requests 819 KiB 38 75 4.5 s 3.1 s 3.1 s 5.3 s 5.7 s 170 ms HTMLJSONstderr
Pagure 17 requests 536 KiB 38 82 4.8 s 3.2 s 3.2 s 4.5 s 5.7 s 70 ms HTMLJSONstderr
Bitbucket 39 requests 2673 KiB ? 90 8.0 s 8.0 s 8.0 s 9.0 s 9.2 s 710 ms HTMLJSONstderr

Patch discussion

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 34 KiB 84 85 3.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 29 requests 494 KiB 47 97 4.6 s 2.6 s 2.6 s 2.6 s 2.6 s 40 ms HTMLJSONstderr
Codeberg 33 requests 1316 KiB 33 83 3.9 s 1.9 s 3.6 s 8.0 s 8.1 s 180 ms HTMLJSONstderr
Pagure 40 requests 6754 KiB 30 88 10.4 s 10.4 s 11.5 s 13.3 s 14.1 s 110 ms HTMLJSONstderr
GitLab 72 requests 2615 KiB 16 67 5.2 s 2.7 s 4.6 s 11.0 s 11.1 s 720 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 diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut * 2 requests 34 KiB 84 85 3.6 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 22 requests 395 KiB 47 98 4.6 s 2.6 s 2.6 s 3.5 s 3.8 s 150 ms HTMLJSONstderr
Pagure * 40 requests 6754 KiB 30 91 12.4 s 10.6 s 11.7 s 13.5 s 14.1 s 80 ms HTMLJSONstderr
Codeberg 28 requests 963 KiB 16 88 5.6 s 2.2 s 5.0 s 6.1 s 6.2 s 320 ms HTMLJSONstderr
GitLab 74 requests 1932 KiB 6 ? 11.5 s 2.9 s 4.8 s 52.2 s 53.1 s 5,730 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
Notes