Gitlab didn't have those extra features at early stages either (Gitea does have CI API BTW, if not a built-in CI). And Gitea doesn't have Gitlab's financial resources.
But the point being made is orthogonal to the feature set: Gitlab (mostly written in Ruby) isn't using hardware resources (memory, CPU cycles, parallelism) as efficiently as Gitea (written in Go) does.
This is well reflected to the minimal system requirements, even when you aren't using any of those additional features:
https://docs.gitlab.com/ee/install/requirements.html whereas you can in principle use Gitea even on a Raspberry Pi Zero for a small group.
For example, disregarding parallelism and wasted CPU cycles and just looking at memory usage: I have a running instance and its using 30MBs of RAM at the moment (~10 users, ~100 repos). If I move all the repos, issues, PRs to a Gitlab instance, I would be looking at GBs according to their minimal requirements. This is related to the mindset in which memory and CPU are considered as infinite resources.
But the point being made is orthogonal to the feature set: Gitlab (mostly written in Ruby) isn't using hardware resources (memory, CPU cycles, parallelism) as efficiently as Gitea (written in Go) does.
This is well reflected to the minimal system requirements, even when you aren't using any of those additional features: https://docs.gitlab.com/ee/install/requirements.html whereas you can in principle use Gitea even on a Raspberry Pi Zero for a small group.
For example, disregarding parallelism and wasted CPU cycles and just looking at memory usage: I have a running instance and its using 30MBs of RAM at the moment (~10 users, ~100 repos). If I move all the repos, issues, PRs to a Gitlab instance, I would be looking at GBs according to their minimal requirements. This is related to the mindset in which memory and CPU are considered as infinite resources.