Skip to content

Conversation

@FreeSlave
Copy link
Member

@FreeSlave FreeSlave commented Oct 24, 2024

Building this sdk with Makefiles takes ~44 seconds whereas building it with Ninja takes ~18 seconds (for clang build it's 24 seconds vs 10 seconds).

We also need to look at the ways of improving the build times on Windows.

Another possible speedup for Linux is using podman to install steam runtime (podman is preinstallted on github Ubuntu images, unlike schroot), but then the container data needs to be cached.

@a1batross
Copy link
Member

a1batross commented Oct 24, 2024

Of course, it will take 44 seconds vs 18 seconds because Ninja by default runs as multiple concurrent jobs as possible and GMake for some stupid historic/unix legacy reasons doesn't. Even CMake doesn't save us from this stupidity if you invoke the build through cmake --build. With the same amount of parallel jobs, Ninja usually wins like few seconds from GMake.

Anyway, good catch. Ninja is nice for CI anyway.

As for Windows, I believe that running CL.EXE with multiple source files doesn't make it use multiple CPU cores. There, however, was a flag for that. It's also possible to run Ninja on Windows too. It doesn't make much sense to generate VS project on CI.

@nekonomicon nekonomicon merged commit 8dc4084 into FWGS:master Oct 24, 2024
4 checks passed
@FreeSlave FreeSlave deleted the build-with-ninja branch November 3, 2024 01:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants