Gitlab.com free runners: Windows + cache performance

Problem to solve

Using the gitlab.com runners, I’m finding that windows runner cache timing for upload + download is many times slower than linux runngers, e.g. when building (my) stephematician/literanger project:

Windows timing:

Running with gitlab-runner 17.0.0 (44feccdf)
  on gitlab-com-saas-windows-medium-amd64 6Kj91tgzi, system ID: s_1a31f6141cb7
Preparing the "custom" executor 02:45
Preparing environment 00:09
Getting source from Git repository 00:10
Restoring cache 02:11
Executing "step_script" stage of the job script 12:23
Saving cache for successful job 04:04
Uploading artifacts for successful job 00:04
Cleaning up project directory and file based variables 00:02
Job succeeded

Linux timing:

Running with gitlab-runner 17.4.0~pre.110.g27400594 (27400594)
  on blue-4.saas-linux-small-amd64.runners-manager.gitlab.com/default J2nyww-s, system ID: s_cf1798852952
Preparing the "docker+machine" executor 00:21
Preparing environment 00:06
Getting source from Git repository 00:02
Restoring cache 00:05
Executing "step_script" stage of the job script 02:05
Saving cache for successful job 00:07
Uploading artifacts for successful job 00:05
Cleaning up project directory and file based variables 00:00
Job succeeded

I expect that the windows job is marginally slower as there is an extra piece of software to install; but the size of the cache is similar across platforms (up to a few hundred Mb) so I dont know why the cache on windows takes 2+4 mins compared to 3-5 sec on linux.

Configuration

Add the CI/CD configuration from .gitlab-ci.yml and other configuration if relevant (e.g. docker-compose.yml). Alternatively, create a public GitLab.com example project that provides all necessary files to reproduce the question.

Versions

  • Self-managed
  • GitLab.com SaaS
  • Self-hosted Runners

Versions

  • GitLab: Enterprise Edition 17.4.0-pre 83e4d1321d0
  • GitLab Runner: gitlab.com