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 October 30, 2020 at 15:20 UTC, and were generated with Lighthouse 6.4.1. Patches welcome!

Disclaimer: This website is maintained by SourceHut.

Expand for details on methodology

We ran Lighthouse 6.4.1 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 6 32 41 25 45 96
Tree (best case) 7 50 49 32 53 96
Tree (worst case) 6 15 16 8 33 85
Log (best case) 8 42 49 42 44 95
Log (worst case) 9 31 43 46 0 81
Commit 18 33 53 45 31 96
Source file (best case) 0 29 43 37 37 92
Source file (worst case) 0 1 3 12 9 28
Blame (best case) 16 12 48 16 8 91
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 22 40 54 30 45 95
Search 20 44 48 29 44 93
Details and comments 21 10 37 13 34 89
Code review
Browsing patches ? 47 46 44 39 95
Patch discussion 19 30 36 16 33 80
Patch diff 15 19 43 11 34 80

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 96 95 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Pagure 19 requests 703 KiB 45 67 3.6 s 3.6 s 3.6 s 3.6 s 3.6 s 40 ms HTMLJSONstderr
GitHub 34 requests 468 KiB 41 95 4.1 s 2.5 s 3.0 s 3.9 s 5.0 s 150 ms HTMLJSONstderr
Codeberg 24 requests 1131 KiB 32 78 3.9 s 1.8 s 3.2 s 7.1 s 7.3 s 240 ms HTMLJSONstderr
GitLab 30 requests 806 KiB 25 79 3.3 s 1.8 s 3.3 s 6.0 s 6.1 s 360 ms HTMLJSONstderr
Bitbucket 65 requests 1638 KiB 6 100 9.9 s 8.8 s 9.6 s 11.3 s 11.6 s 760 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
Pagure 18 requests 503 KiB 53 96 2.7 s 2.7 s 2.7 s 2.7 s 2.7 s 40 ms HTMLJSONstderr
Codeberg 21 requests 737 KiB 50 81 3.8 s 1.8 s 2.9 s 3.9 s 3.9 s 130 ms HTMLJSONstderr
GitHub 23 requests 333 KiB 49 100 2.5 s 2.5 s 2.5 s 4.0 s 4.3 s 90 ms HTMLJSONstderr
GitLab 29 requests 796 KiB 32 82 3.8 s 1.8 s 3.2 s 5.5 s 5.5 s 340 ms HTMLJSONstderr
Bitbucket 63 requests 1636 KiB 7 100 9.7 s 8.7 s 9.4 s 11.3 s 11.4 s 770 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 85 93 2.0 s 1.4 s 1.4 s 1.6 s 1.6 s 50 ms HTMLJSONstderr
Pagure 18 requests 1233 KiB 33 96 6.7 s 6.7 s 6.7 s 7.8 s 7.8 s 60 ms HTMLJSONstderr
GitHub * 22 requests 538 KiB 16 100 5.1 s 2.7 s 2.7 s 4.2 s 4.8 s 870 ms HTMLJSONstderr
Codeberg 21 requests 867 KiB 15 ? 14.3 s 2.9 s 2.9 s 16.5 s 16.8 s 5,130 ms HTMLJSONstderr
GitLab 59 requests 950 KiB 8 82 4.7 s 1.9 s 3.3 s 29.3 s 29.6 s 2,370 ms HTMLJSONstderr
Bitbucket * 63 requests 1647 KiB 6 100 11.1 s 8.8 s 9.5 s 11.7 s 11.8 s 890 ms HTMLJSONstderr
Notes

Log (best case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 32 KiB 95 94 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 26 requests 343 KiB 49 100 3.6 s 2.5 s 2.5 s 3.7 s 4.0 s 90 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 44 78 3.1 s 3.1 s 4.1 s 5.0 s 5.4 s 180 ms HTMLJSONstderr
GitLab 34 requests 625 KiB 42 76 3.4 s 1.8 s 2.6 s 5.0 s 5.3 s 290 ms HTMLJSONstderr
Codeberg 49 requests 881 KiB 42 84 7.9 s 2.4 s 2.4 s 4.8 s 4.9 s 250 ms HTMLJSONstderr
Bitbucket 47 requests 1351 KiB 8 100 9.3 s 8.6 s 8.7 s 9.7 s 9.8 s 750 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 21.5 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitLab 54 requests 653 KiB 46 76 4.6 s 1.1 s 2.5 s 5.0 s 5.3 s 360 ms HTMLJSONstderr
GitHub 39 requests 406 KiB 43 100 4.3 s 2.6 s 3.0 s 3.7 s 4.4 s 180 ms HTMLJSONstderr
Codeberg 55 requests 774 KiB 31 84 14.9 s 2.7 s 2.7 s 5.1 s 5.1 s 210 ms HTMLJSONstderr
Bitbucket 50 requests 1361 KiB 9 98 9.9 s 8.5 s 8.6 s 9.6 s 9.7 s 680 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 32 KiB 96 83 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 22 requests 342 KiB 53 97 3.0 s 2.5 s 2.5 s 3.7 s 3.9 s 90 ms HTMLJSONstderr
GitLab 32 requests 726 KiB 45 86 3.7 s 1.8 s 3.2 s 5.3 s 5.6 s 120 ms HTMLJSONstderr
Codeberg 31 requests 1059 KiB 33 89 22.6 s 3.1 s 5.1 s 6.3 s 6.3 s 170 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 31 72 4.7 s 2.9 s 3.2 s 6.4 s 6.4 s 250 ms HTMLJSONstderr
Bitbucket 29 requests 10252 KiB 18 94 11.1 s 3.0 s 3.0 s 3.0 s 55.4 s 640 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 92 94 1.3 s 1.2 s 1.2 s 1.2 s 1.2 s 30 ms HTMLJSONstderr
GitHub 34 requests 480 KiB 43 97 3.7 s 2.5 s 2.5 s 3.8 s 4.3 s 70 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 37 94 3.1 s 2.8 s 5.3 s 5.9 s 5.9 s 260 ms HTMLJSONstderr
GitLab 24 requests 616 KiB 37 81 3.3 s 1.7 s 3.2 s 5.1 s 5.3 s 260 ms HTMLJSONstderr
Codeberg 21 requests 1133 KiB 29 96 10.8 s 2.5 s 2.5 s 6.8 s 6.8 s 140 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 28 ? 4.8 s 2.6 s 2.6 s 4.1 s 4.1 s 240 ms HTMLJSONstderr
GitLab 24 requests 973 KiB 12 ? 4.5 s 2.2 s 4.0 s 11.1 s 11.2 s 3,400 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 9 ? 9.5 s 5.3 s 6.3 s 8.0 s 8.0 s 1,580 ms HTMLJSONstderr
GitHub 22 requests 804 KiB 3 ? 10.6 s 4.4 s 4.4 s 9.2 s 9.3 s 870 ms HTMLJSONstderr
Codeberg 21 requests 1489 KiB 1 ? 23.1 s 5.2 s 7.1 s 10.7 s 11.0 s 1,510 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 91 94 1.5 s 1.2 s 1.2 s 1.2 s 1.2 s 30 ms HTMLJSONstderr
GitHub 34 requests 410 KiB 48 98 4.1 s 2.7 s 2.7 s 4.0 s 4.5 s 270 ms HTMLJSONstderr
GitLab 32 requests 648 KiB 16 87 4.4 s 1.8 s 2.6 s 7.3 s 7.6 s 1,500 ms HTMLJSONstderr
Bitbucket 26 requests 10338 KiB 16 86 11.9 s 3.1 s 3.1 s 3.1 s 56.4 s 760 ms HTMLJSONstderr
Codeberg 47 requests 1287 KiB 12 96 7.6 s 2.4 s 4.2 s 8.5 s 9.0 s 780 ms HTMLJSONstderr
Pagure 20 requests 1196 KiB 8 83 8.9 s 4.3 s 7.3 s 8.4 s 8.3 s 1,000 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 34 KiB 95 100 1.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 26 requests 346 KiB 54 98 2.8 s 2.5 s 2.5 s 3.4 s 3.8 s 100 ms HTMLJSONstderr
Pagure 16 requests 615 KiB 45 89 3.9 s 3.2 s 3.2 s 4.7 s 4.7 s 50 ms HTMLJSONstderr
Codeberg 34 requests 1022 KiB 40 86 4.3 s 2.0 s 3.5 s 4.1 s 4.1 s 180 ms HTMLJSONstderr
GitLab 37 requests 741 KiB 30 75 3.6 s 1.7 s 3.1 s 6.0 s 6.0 s 310 ms HTMLJSONstderr
Bitbucket 32 requests 10158 KiB 22 92 16.4 s 3.0 s 3.0 s 3.7 s 53.4 s 620 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 34 KiB 93 100 1.7 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 26 requests 345 KiB 48 98 3.4 s 2.5 s 2.8 s 3.7 s 3.9 s 120 ms HTMLJSONstderr
Pagure 17 requests 578 KiB 44 80 3.7 s 3.0 s 3.0 s 4.6 s 4.8 s 70 ms HTMLJSONstderr
Codeberg 34 requests 1022 KiB 44 86 4.4 s 2.0 s 3.4 s 4.0 s 4.0 s 160 ms HTMLJSONstderr
GitLab 34 requests 738 KiB 29 66 2.9 s 1.7 s 2.5 s 6.2 s 6.2 s 370 ms HTMLJSONstderr
Bitbucket 30 requests 10156 KiB 20 92 15.8 s 2.9 s 2.9 s 2.9 s 54.3 s 700 ms HTMLJSONstderr

Details and comments

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 56 KiB 89 91 1.9 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 49 requests 645 KiB 37 97 5.9 s 3.4 s 3.6 s 3.9 s 4.7 s 200 ms HTMLJSONstderr
Pagure 38 requests 3526 KiB 34 87 3.6 s 3.6 s 3.6 s 6.8 s 8.7 s 100 ms HTMLJSONstderr
Bitbucket 32 requests 10179 KiB 21 94 16.6 s 2.8 s 2.8 s 2.8 s 53.3 s 690 ms HTMLJSONstderr
GitLab 74 requests 1177 KiB 13 71 5.1 s 1.8 s 4.0 s 8.5 s 8.6 s 1,140 ms HTMLJSONstderr
Codeberg 49 requests 1898 KiB 10 89 10.6 s 2.9 s 5.8 s 9.4 s 12.1 s 600 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 95 91 1.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 34 requests 1022 KiB 47 86 3.9 s 1.9 s 3.5 s 4.1 s 4.2 s 110 ms HTMLJSONstderr
GitHub 26 requests 343 KiB 46 98 3.9 s 2.5 s 2.9 s 3.7 s 3.9 s 140 ms HTMLJSONstderr
GitLab 31 requests 680 KiB 44 75 4.1 s 1.7 s 3.4 s 5.3 s 5.4 s 130 ms HTMLJSONstderr
Pagure 17 requests 540 KiB 39 82 4.6 s 3.4 s 3.4 s 4.4 s 5.5 s 80 ms HTMLJSONstderr
Bitbucket 82 requests 2122 KiB ? 90 8.5 s 8.5 s 8.6 s 9.8 s 10.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 69 KiB 80 ? 5.9 s 1.1 s 1.1 s 1.1 s 1.1 s 50 ms HTMLJSONstderr
GitHub 34 requests 611 KiB 36 97 7.1 s 2.9 s 3.5 s 4.3 s 4.9 s 170 ms HTMLJSONstderr
Pagure 35 requests 2858 KiB 33 85 6.9 s 4.4 s 5.4 s 7.1 s 7.3 s 90 ms HTMLJSONstderr
Codeberg 31 requests 1509 KiB 30 84 6.1 s 1.9 s 4.7 s 8.5 s 9.0 s 190 ms HTMLJSONstderr
Bitbucket 30 requests 10270 KiB 19 88 16.6 s 2.9 s 2.9 s 2.9 s 53.8 s 780 ms HTMLJSONstderr
GitLab 53 requests 1611 KiB 16 82 5.6 s 1.8 s 5.5 s 5.5 s 11.1 s 680 ms HTMLJSONstderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut * 2 requests 69 KiB 80 85 5.9 s 1.1 s 1.1 s 1.1 s 1.1 s 30 ms HTMLJSONstderr
GitHub 20 requests 369 KiB 43 97 5.1 s 2.6 s 3.1 s 4.1 s 4.1 s 140 ms HTMLJSONstderr
Pagure 35 requests 2858 KiB 34 85 8.2 s 4.3 s 5.3 s 7.1 s 7.2 s 100 ms HTMLJSONstderr
Codeberg 31 requests 1463 KiB 19 88 5.4 s 2.0 s 4.6 s 8.4 s 8.7 s 260 ms HTMLJSONstderr
Bitbucket * 34 requests 10350 KiB 15 88 17.7 s 3.3 s 28.1 s 28.1 s 54.5 s 700 ms HTMLJSONstderr
GitLab 55 requests 1650 KiB 11 86 7.1 s 1.8 s 4.3 s 11.8 s 12.4 s 1,170 ms HTMLJSONstderr
Notes