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 December 4, 2020 at 14:59 UTC, and were generated with Lighthouse 6.5.0. Patches welcome!

Disclaimer: This website is maintained by SourceHut.

Expand for details on methodology

We ran Lighthouse 6.5.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 7 52 43 25 51 96
Tree (best case) 7 56 56 41 51 96
Tree (worst case) 6 0 15 8 34 86
Log (best case) 9 45 48 47 35 96
Log (worst case) 10 53 47 41 0 95
Commit 23 41 49 40 31 96
Source file (best case) 6 36 42 43 37 92
Source file (worst case) 5 7 5 19 7 25
Blame (best case) 18 21 45 18 9 92
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 22 51 51 36 36 95
Search 25 52 50 39 38 92
Details and comments 26 22 36 13 35 87
Code review
Browsing patches ? 53 50 37 45 95
Patch discussion 14 42 38 17 33 80
Patch diff 17 48 46 12 33 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
Codeberg 15 requests 607 KiB 52 78 3.1 s 1.7 s 1.7 s 3.7 s 3.7 s 170 ms HTMLJSONstderr
Pagure 19 requests 704 KiB 51 67 3.2 s 2.9 s 2.9 s 2.9 s 2.9 s 50 ms HTMLJSONstderr
GitHub 40 requests 569 KiB 43 95 2.7 s 2.5 s 2.5 s 4.0 s 5.2 s 90 ms HTMLJSONstderr
GitLab 31 requests 778 KiB 25 79 3.5 s 1.8 s 3.3 s 5.9 s 6.0 s 430 ms HTMLJSONstderr
Bitbucket 66 requests 1645 KiB 7 100 9.6 s 9.0 s 9.8 s 11.7 s 11.8 s 740 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
Codeberg 14 requests 601 KiB 56 81 2.8 s 1.7 s 1.7 s 3.7 s 3.7 s 130 ms HTMLJSONstderr
GitHub 23 requests 329 KiB 56 100 2.6 s 2.6 s 2.6 s 2.6 s 2.6 s 50 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 51 96 2.7 s 2.7 s 2.7 s 3.8 s 3.8 s 50 ms HTMLJSONstderr
GitLab 27 requests 723 KiB 41 82 2.2 s 1.8 s 2.5 s 5.3 s 5.3 s 360 ms HTMLJSONstderr
Bitbucket 63 requests 1644 KiB 7 100 9.3 s 8.7 s 9.5 s 11.4 s 11.4 s 680 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.6 s 1.6 s 50 ms HTMLJSONstderr
Pagure 18 requests 1231 KiB 34 96 6.3 s 6.3 s 6.6 s 6.6 s 6.6 s 40 ms HTMLJSONstderr
GitHub * 22 requests 535 KiB 15 100 4.6 s 2.7 s 2.7 s 4.7 s 5.2 s 1,020 ms HTMLJSONstderr
GitLab 48 requests 830 KiB 8 82 7.2 s 2.1 s 3.6 s 24.4 s 24.5 s 1,910 ms HTMLJSONstderr
Bitbucket * 63 requests 1655 KiB 6 100 11.1 s 9.0 s 9.8 s 11.8 s 11.9 s 860 ms HTMLJSONstderr
Codeberg n/an/a The page provided is not HTML (served as MIME type ). 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 32 KiB 96 94 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 25 requests 337 KiB 48 100 3.6 s 2.5 s 2.5 s 3.5 s 4.0 s 100 ms HTMLJSONstderr
GitLab 33 requests 545 KiB 47 82 3.4 s 1.8 s 2.5 s 4.4 s 4.7 s 280 ms HTMLJSONstderr
Codeberg 42 requests 744 KiB 45 84 3.7 s 1.9 s 1.9 s 4.1 s 4.1 s 220 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 35 78 4.1 s 3.9 s 5.2 s 5.2 s 7.1 s 150 ms HTMLJSONstderr
Bitbucket 47 requests 1372 KiB 9 100 10.0 s 9.0 s 9.1 s 10.0 s 10.3 s 730 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 95 94 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 48 requests 638 KiB 53 84 5.8 s 1.9 s 2.0 s 4.1 s 4.2 s 240 ms HTMLJSONstderr
GitHub 37 requests 391 KiB 47 100 3.4 s 2.6 s 2.6 s 3.6 s 4.3 s 80 ms HTMLJSONstderr
GitLab 53 requests 572 KiB 41 82 5.7 s 2.1 s 3.5 s 4.7 s 5.0 s 300 ms HTMLJSONstderr
Bitbucket 50 requests 1367 KiB 10 98 9.4 s 8.9 s 9.1 s 9.7 s 10.0 s 740 ms HTMLJSONstderr
Pagure n/an/a The page did not paint any content. Please ensure you keep the browser window in the foreground during the load and try 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 20 requests 336 KiB 49 97 3.2 s 2.5 s 2.5 s 3.6 s 4.0 s 100 ms HTMLJSONstderr
Codeberg 22 requests 854 KiB 41 83 6.4 s 2.1 s 2.1 s 4.8 s 4.9 s 150 ms HTMLJSONstderr
GitLab 32 requests 729 KiB 40 86 3.9 s 1.7 s 3.4 s 5.5 s 5.8 s 260 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 31 72 4.6 s 3.5 s 4.2 s 6.1 s 7.7 s 280 ms HTMLJSONstderr
Bitbucket 29 requests 2854 KiB 23 94 5.8 s 3.0 s 3.0 s 3.0 s 18.2 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.2 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitLab 22 requests 529 KiB 43 81 3.1 s 1.7 s 3.1 s 4.6 s 4.8 s 220 ms HTMLJSONstderr
GitHub 36 requests 573 KiB 42 97 3.3 s 2.5 s 2.5 s 4.2 s 5.4 s 220 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 37 94 3.3 s 3.0 s 5.7 s 6.0 s 6.0 s 250 ms HTMLJSONstderr
Codeberg 12 requests 621 KiB 36 96 5.5 s 2.0 s 2.0 s 4.4 s 4.4 s 160 ms HTMLJSONstderr
Bitbucket 72 requests 2116 KiB 6 98 10.8 s 8.8 s 10.9 s 11.3 s 14.7 s 710 ms HTMLJSONstderr

Source file (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 3 requests 340 KiB 25 ? 4.6 s 2.6 s 2.6 s 4.4 s 4.4 s 210 ms HTMLJSONstderr
GitLab 22 requests 780 KiB 19 ? 3.3 s 1.7 s 1.7 s 9.9 s 10.1 s 2,740 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 7 ? 11.2 s 5.3 s 6.8 s 8.7 s 8.7 s 1,160 ms HTMLJSONstderr
Codeberg 12 requests 1103 KiB 7 ? 12.7 s 5.1 s 5.1 s 13.4 s 13.5 s 1,840 ms HTMLJSONstderr
GitHub 35 requests 924 KiB 5 ? 11.3 s 4.5 s 4.5 s 10.1 s 10.4 s 2,360 ms HTMLJSONstderr
Bitbucket 74 requests 2820 KiB 5 98 11.7 s 8.9 s 11.0 s 15.9 s 18.8 s 770 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 92 94 1.5 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 33 requests 405 KiB 45 98 4.0 s 2.7 s 2.7 s 3.9 s 4.7 s 350 ms HTMLJSONstderr
Codeberg 38 requests 769 KiB 21 96 4.6 s 2.1 s 2.1 s 5.0 s 5.0 s 700 ms HTMLJSONstderr
Bitbucket 26 requests 2937 KiB 18 86 8.2 s 2.9 s 2.9 s 2.9 s 18.3 s 640 ms HTMLJSONstderr
GitLab 31 requests 567 KiB 18 86 3.8 s 1.9 s 2.6 s 6.5 s 6.7 s 1,680 ms HTMLJSONstderr
Pagure 20 requests 1196 KiB 9 83 8.2 s 4.7 s 7.0 s 8.2 s 8.3 s 940 ms HTMLJSONstderr

Blame (worst case)

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
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 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: 502) 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
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.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 25 requests 340 KiB 51 98 2.7 s 2.5 s 2.5 s 3.6 s 4.0 s 110 ms HTMLJSONstderr
Codeberg 27 requests 884 KiB 51 86 3.0 s 1.8 s 1.8 s 3.9 s 3.9 s 150 ms HTMLJSONstderr
GitLab 32 requests 665 KiB 36 81 3.9 s 1.7 s 3.1 s 5.5 s 5.5 s 330 ms HTMLJSONstderr
Pagure 16 requests 619 KiB 36 89 5.0 s 4.1 s 4.1 s 4.8 s 5.9 s 100 ms HTMLJSONstderr
Bitbucket 32 requests 2764 KiB 22 92 7.1 s 2.9 s 2.9 s 2.9 s 17.1 s 650 ms HTMLJSONstderr
Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 34 KiB 92 100 1.7 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 27 requests 884 KiB 52 86 2.9 s 1.8 s 1.8 s 3.9 s 3.9 s 160 ms HTMLJSONstderr
GitHub 25 requests 340 KiB 50 98 3.1 s 2.5 s 2.7 s 3.5 s 4.0 s 130 ms HTMLJSONstderr
GitLab 33 requests 666 KiB 39 72 3.7 s 1.7 s 3.1 s 5.5 s 5.2 s 300 ms HTMLJSONstderr
Pagure 17 requests 582 KiB 38 80 4.5 s 3.4 s 3.4 s 4.5 s 5.9 s 60 ms HTMLJSONstderr
Bitbucket 30 requests 2761 KiB 25 92 7.7 s 2.9 s 2.9 s 3.6 s 17.0 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 56 KiB 87 91 2.1 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 50 requests 739 KiB 36 97 7.4 s 3.4 s 3.8 s 4.3 s 5.4 s 200 ms HTMLJSONstderr
Pagure 38 requests 3523 KiB 35 87 3.5 s 3.3 s 3.3 s 6.3 s 8.8 s 80 ms HTMLJSONstderr
Bitbucket 32 requests 2784 KiB 26 94 7.9 s 2.9 s 2.9 s 2.9 s 17.3 s 660 ms HTMLJSONstderr
Codeberg 42 requests 1345 KiB 22 89 8.6 s 2.8 s 2.8 s 7.1 s 8.6 s 200 ms HTMLJSONstderr
GitLab 74 requests 1166 KiB 13 79 4.6 s 1.8 s 3.6 s 9.2 s 9.4 s 1,140 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 27 requests 884 KiB 53 86 3.0 s 1.8 s 1.8 s 3.9 s 3.9 s 140 ms HTMLJSONstderr
GitHub 25 requests 338 KiB 50 98 3.3 s 2.5 s 2.5 s 3.5 s 4.0 s 110 ms HTMLJSONstderr
Pagure 17 requests 549 KiB 45 82 3.8 s 2.9 s 2.9 s 3.9 s 4.3 s 60 ms HTMLJSONstderr
GitLab 29 requests 607 KiB 37 81 4.2 s 1.9 s 3.3 s 5.4 s 5.5 s 260 ms HTMLJSONstderr
Bitbucket 82 requests 2151 KiB ? 90 8.9 s 8.9 s 9.0 s 9.9 s 10.4 s 670 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 ? 6.1 s 1.1 s 1.1 s 1.1 s 1.1 s 50 ms HTMLJSONstderr
Codeberg 21 requests 878 KiB 42 84 3.9 s 1.9 s 1.9 s 5.1 s 5.4 s 130 ms HTMLJSONstderr
GitHub 38 requests 707 KiB 38 97 7.5 s 3.4 s 3.7 s 4.0 s 5.0 s 160 ms HTMLJSONstderr
Pagure 35 requests 2875 KiB 33 85 7.2 s 4.7 s 5.3 s 6.7 s 7.0 s 70 ms HTMLJSONstderr
GitLab 54 requests 1238 KiB 17 82 5.0 s 1.8 s 4.1 s 7.6 s 8.3 s 540 ms HTMLJSONstderr
Bitbucket 30 requests 2837 KiB 14 88 7.8 s 3.0 s 3.0 s 3.0 s 17.7 s 690 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 ? 6.1 s 1.1 s 1.1 s 1.1 s 1.1 s 60 ms HTMLJSONstderr
Codeberg 20 requests 873 KiB 48 82 4.2 s 2.2 s 2.2 s 5.0 s 5.0 s 130 ms HTMLJSONstderr
GitHub 21 requests 466 KiB 46 97 5.6 s 3.1 s 3.3 s 3.3 s 3.6 s 160 ms HTMLJSONstderr
Pagure 35 requests 2875 KiB 33 85 11.8 s 4.4 s 5.6 s 6.8 s 7.0 s 110 ms HTMLJSONstderr
Bitbucket * 34 requests 2952 KiB 17 88 8.1 s 3.0 s 10.2 s 10.2 s 18.7 s 700 ms HTMLJSONstderr
GitLab 54 requests 1275 KiB 12 86 6.4 s 1.8 s 4.3 s 10.6 s 11.1 s 1,370 ms HTMLJSONstderr
Notes