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 February 26, 2021 at 15:52 UTC, and were generated with Lighthouse 7.2.0. Patches welcome!

Disclaimer: This website is maintained by SourceHut.

Expand for details on methodology

We ran Lighthouse 7.2.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 20 97 91 58 83 100
Tree (best case) 22 89 87 89 82 100
Tree (worst case) 10 0 47 0 50 100
Log (best case) 27 87 87 77 77 100
Log (worst case) 31 66 87 65 63 100
Commit 53 70 87 62 73 100
Source file (best case) 10 76 82 61 65 100
Source file (worst case) 6 20 29 38 17 72
Blame (best case) 47 71 89 47 22 100
Blame (worst case) 0 0 n/a 0 0 0
Browsing tickets/issues
Browsing 60 85 88 66 61 100
Search 44 95 88 63 60 100
Details and comments 55 0 70 30 61 86
Code review
Browsing patches 33 85 90 64 68 100
Patch discussion 18 73 65 34 47 89
Patch diff 20 84 81 27 49 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 97 78 3.0 s 1.7 s 1.7 s 3.8 s 3.8 s 180 ms HTMLJSONstderr
GitHub 37 requests 403 KiB 91 96 2.5 s 2.5 s 2.5 s 3.6 s 4.1 s 90 ms HTMLJSONstderr
Pagure 19 requests 704 KiB 83 67 2.9 s 2.9 s 2.9 s 2.9 s 2.9 s 50 ms HTMLJSONstderr
GitLab 33 requests 822 KiB 58 72 2.9 s 1.9 s 2.5 s 5.9 s 6.0 s 440 ms HTMLJSONstderr
Bitbucket 61 requests 1527 KiB 20 100 10.3 s 8.5 s 9.5 s 11.6 s 11.6 s 850 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 89 81 3.1 s 1.7 s 2.5 s 3.7 s 3.7 s 150 ms HTMLJSONstderr
GitLab 29 requests 771 KiB 89 77 3.2 s 1.8 s 1.8 s 5.4 s 5.6 s 260 ms HTMLJSONstderr
GitHub 24 requests 342 KiB 87 98 2.5 s 2.5 s 2.5 s 3.0 s 3.3 s 60 ms HTMLJSONstderr
Pagure 18 requests 503 KiB 82 96 3.5 s 2.8 s 2.8 s 3.8 s 3.9 s 110 ms HTMLJSONstderr
Bitbucket 59 requests 1524 KiB 22 100 10.2 s 8.7 s 9.8 s 11.8 s 11.8 s 850 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 100 93 2.0 s 1.4 s 1.4 s 1.5 s 1.5 s 60 ms HTMLJSONstderr
Pagure 18 requests 1223 KiB 50 96 6.3 s 6.3 s 6.6 s 6.6 s 6.6 s 40 ms HTMLJSONstderr
GitHub * 24 requests 568 KiB 47 98 3.5 s 2.6 s 2.6 s 6.0 s 6.1 s 970 ms HTMLJSONstderr
Bitbucket * 60 requests 1537 KiB 10 100 12.6 s 8.8 s 9.8 s 12.5 s 12.6 s 1,290 ms HTMLJSONstderr
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 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
Codeberg 42 requests 757 KiB 87 90 4.2 s 2.2 s 2.2 s 4.6 s 4.6 s 230 ms HTMLJSONstderr
GitHub 26 requests 338 KiB 87 100 3.0 s 2.5 s 2.5 s 3.4 s 3.5 s 90 ms HTMLJSONstderr
GitLab 33 requests 572 KiB 77 77 4.1 s 1.1 s 3.2 s 4.7 s 4.8 s 230 ms HTMLJSONstderr
Pagure 68 requests 702 KiB 77 78 3.8 s 3.2 s 4.4 s 4.8 s 5.0 s 140 ms HTMLJSONstderr
Bitbucket 46 requests 1304 KiB 27 100 9.8 s 8.8 s 9.0 s 10.1 s 10.3 s 870 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 37 requests 387 KiB 87 100 3.0 s 2.6 s 2.6 s 3.2 s 3.5 s 80 ms HTMLJSONstderr
Codeberg 48 requests 637 KiB 66 90 11.5 s 2.8 s 2.8 s 5.2 s 5.2 s 290 ms HTMLJSONstderr
GitLab 53 requests 593 KiB 65 77 5.9 s 1.8 s 2.4 s 4.9 s 5.2 s 420 ms HTMLJSONstderr
Pagure 73 requests 703 KiB 63 78 41.0 s 3.3 s 4.2 s 4.7 s 5.2 s 200 ms HTMLJSONstderr
Bitbucket 49 requests 1298 KiB 31 98 9.6 s 8.7 s 9.0 s 10.1 s 10.2 s 900 ms HTMLJSONstderr

Commit

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 34 KiB 100 83 1.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 21 requests 341 KiB 87 97 3.1 s 2.5 s 2.5 s 3.4 s 3.8 s 140 ms HTMLJSONstderr
Pagure 23 requests 781 KiB 73 72 3.5 s 3.0 s 4.2 s 6.0 s 7.5 s 290 ms HTMLJSONstderr
Codeberg 22 requests 854 KiB 70 88 5.8 s 2.1 s 3.1 s 4.9 s 4.9 s 100 ms HTMLJSONstderr
GitLab 33 requests 727 KiB 62 81 4.0 s 1.8 s 3.2 s 5.7 s 5.8 s 350 ms HTMLJSONstderr
Bitbucket 38 requests 2419 KiB 53 94 6.2 s 2.8 s 2.8 s 5.3 s 17.1 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 1.3 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 23 requests 390 KiB 82 98 2.9 s 2.6 s 2.6 s 4.0 s 4.5 s 60 ms HTMLJSONstderr
Codeberg 12 requests 621 KiB 76 96 4.1 s 2.0 s 2.0 s 4.4 s 4.4 s 180 ms HTMLJSONstderr
Pagure 21 requests 889 KiB 65 94 4.2 s 2.9 s 5.7 s 6.2 s 6.2 s 270 ms HTMLJSONstderr
GitLab 23 requests 556 KiB 61 87 3.3 s 1.8 s 2.6 s 5.3 s 5.5 s 480 ms HTMLJSONstderr
Bitbucket 68 requests 2007 KiB 10 98 11.4 s 8.6 s 10.9 s 14.8 s 14.8 s 830 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 72 ? 3.8 s 2.6 s 2.6 s 4.1 s 4.1 s 160 ms HTMLJSONstderr
GitLab 23 requests 807 KiB 38 ? 3.9 s 1.8 s 2.9 s 10.7 s 10.7 s 3,170 ms HTMLJSONstderr
GitHub 33 requests 770 KiB 29 ? 6.7 s 4.4 s 4.4 s 10.3 s 10.2 s 380 ms HTMLJSONstderr
Codeberg 12 requests 1103 KiB 20 ? 11.2 s 4.9 s 4.9 s 12.8 s 12.9 s 1,760 ms HTMLJSONstderr
Pagure 19 requests 1157 KiB 17 ? 13.4 s 5.4 s 6.7 s 8.3 s 8.4 s 1,690 ms HTMLJSONstderr
Bitbucket 71 requests 2720 KiB 6 98 11.9 s 8.7 s 11.1 s 16.4 s 19.5 s 820 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.5 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 34 requests 409 KiB 89 98 3.6 s 2.6 s 2.6 s 3.9 s 4.5 s 300 ms HTMLJSONstderr
Codeberg 38 requests 771 KiB 71 96 4.4 s 2.0 s 2.0 s 5.0 s 5.1 s 730 ms HTMLJSONstderr
GitLab 32 requests 592 KiB 47 84 4.3 s 1.8 s 3.3 s 7.6 s 7.8 s 1,580 ms HTMLJSONstderr
Bitbucket 33 requests 2501 KiB 47 85 8.8 s 2.8 s 2.8 s 4.9 s 16.3 s 570 ms HTMLJSONstderr
Pagure 20 requests 1202 KiB 22 83 11.1 s 4.5 s 7.3 s 8.4 s 8.2 s 880 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 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
Notes

Browsing tickets/issues

Browsing

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 35 KiB 100 100 1.2 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 21 requests 324 KiB 88 98 2.7 s 2.5 s 2.5 s 3.4 s 3.7 s 110 ms HTMLJSONstderr
Codeberg 27 requests 884 KiB 85 86 3.1 s 1.8 s 1.8 s 3.9 s 3.9 s 170 ms HTMLJSONstderr
GitLab 36 requests 724 KiB 66 76 3.7 s 1.9 s 2.5 s 5.8 s 5.9 s 340 ms HTMLJSONstderr
Pagure 17 requests 624 KiB 61 78 5.4 s 3.7 s 3.7 s 4.8 s 6.2 s 100 ms HTMLJSONstderr
Bitbucket 37 requests 2363 KiB 60 92 6.7 s 2.8 s 2.8 s 4.6 s 15.5 s 710 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.1 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
Codeberg 27 requests 884 KiB 95 86 3.0 s 1.8 s 1.8 s 3.9 s 3.9 s 180 ms HTMLJSONstderr
GitHub 21 requests 324 KiB 88 98 2.6 s 2.5 s 2.5 s 3.4 s 3.7 s 130 ms HTMLJSONstderr
GitLab 33 requests 721 KiB 63 70 3.1 s 1.8 s 2.4 s 5.8 s 5.8 s 450 ms HTMLJSONstderr
Pagure 18 requests 590 KiB 60 78 5.1 s 4.0 s 4.0 s 4.6 s 6.1 s 90 ms HTMLJSONstderr
Bitbucket 35 requests 2360 KiB 44 92 7.0 s 4.0 s 4.0 s 4.6 s 15.5 s 680 ms HTMLJSONstderr

Details and comments

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut 2 requests 59 KiB 86 91 11.5 s 1.2 s 1.2 s 1.2 s 1.2 s 20 ms HTMLJSONstderr
GitHub 49 requests 556 KiB 70 98 5.4 s 3.3 s 3.3 s 4.3 s 4.9 s 220 ms HTMLJSONstderr
Pagure 38 requests 3527 KiB 61 87 3.2 s 3.2 s 3.2 s 6.9 s 8.1 s 100 ms HTMLJSONstderr
Bitbucket 35 requests 2373 KiB 55 94 8.0 s 2.8 s 2.8 s 4.6 s 15.0 s 600 ms HTMLJSONstderr
GitLab 61 requests 1110 KiB 30 70 6.8 s 1.9 s 3.7 s 8.6 s 8.9 s 1,350 ms HTMLJSONstderr
Codeberg n/an/a An error occured, see the log for more details. HTML JSON stderr

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 86 1.3 s 1.1 s 1.1 s 1.1 s 1.1 s 20 ms HTMLJSONstderr
GitHub 21 requests 321 KiB 90 98 2.7 s 2.5 s 2.5 s 3.2 s 3.5 s 90 ms HTMLJSONstderr
Codeberg 27 requests 884 KiB 85 86 3.1 s 1.8 s 1.8 s 3.9 s 3.9 s 150 ms HTMLJSONstderr
Pagure 17 requests 540 KiB 68 82 4.9 s 3.2 s 3.2 s 4.2 s 5.6 s 80 ms HTMLJSONstderr
GitLab 30 requests 676 KiB 64 76 2.9 s 1.7 s 2.3 s 5.5 s 5.5 s 420 ms HTMLJSONstderr
Bitbucket 79 requests 2074 KiB 33 100 8.6 s 8.6 s 8.7 s 10.5 s 10.7 s 850 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.7 s 1.1 s 1.1 s 1.1 s 1.1 s 50 ms HTMLJSONstderr
Codeberg 21 requests 879 KiB 73 84 9.5 s 2.3 s 2.3 s 5.5 s 5.7 s 190 ms HTMLJSONstderr
GitHub 35 requests 546 KiB 65 98 6.9 s 3.5 s 3.9 s 4.3 s 4.8 s 210 ms HTMLJSONstderr
Pagure 39 requests 2944 KiB 47 68 8.5 s 4.7 s 5.8 s 7.4 s 7.5 s 160 ms HTMLJSONstderr
GitLab 53 requests 1293 KiB 34 79 5.8 s 1.8 s 3.9 s 9.1 s 9.2 s 790 ms HTMLJSONstderr
Bitbucket 124 requests 2219 KiB 18 ? 9.2 s 2.8 s 2.8 s 3.0 s 12.4 s 570 ms HTMLJSONstderr

Patch diff

Page tested Performance Accessibility Speed Index FCP FMP First Idle TTI Max FID Full report
SourceHut * 2 requests 71 KiB 89 ? 7.7 s 1.1 s 1.1 s 1.1 s 1.1 s 50 ms HTMLJSONstderr
Codeberg 20 requests 874 KiB 84 87 4.7 s 2.3 s 2.3 s 5.2 s 5.3 s 150 ms HTMLJSONstderr
GitHub 22 requests 482 KiB 81 97 4.9 s 2.7 s 3.1 s 3.7 s 4.0 s 80 ms HTMLJSONstderr
Pagure 39 requests 2944 KiB 49 68 7.0 s 4.5 s 5.6 s 7.2 s 7.3 s 140 ms HTMLJSONstderr
GitLab 52 requests 1331 KiB 27 84 7.2 s 1.8 s 5.4 s 11.2 s 11.6 s 1,110 ms HTMLJSONstderr
Bitbucket * 124 requests 2219 KiB 20 ? 8.6 s 2.3 s 2.3 s 3.0 s 12.5 s 550 ms HTMLJSONstderr
Notes