Skip to content

Optimize compile times #427

Open
Open

Description

@xezon

Cpp's seem to build slow. Noticable when building without /MP flag. Inspect compile times and find the culprits.

Activity

  1. added theissue type on Mar 16, 2025
  2. added
    MinorSeverity: Minor < Major < Critical < Blocker
    BuildAnything related to building, compiling
    on Mar 16, 2025
  3. helmutbuhler commented on Mar 18, 2025

    @helmutbuhler

    Just as a reference: Building ZH from scratch in VC6.0 in the IDE in Release with mostly original project files takes about 2:30 minutes on my machine.

  4. xezon commented on Mar 18, 2025

    @xezon
    Author

    Hmm interesting. Does it do a multithreaded build? When I do a build with cmake + nmake it takes 20 minutes or so. Is not multithreaded.

  5. helmutbuhler commented on Mar 18, 2025

    @helmutbuhler

    No, all singlethreaded. But it is only building the game, not the tools and not Generals.

  6. xezon commented on Mar 18, 2025

    @xezon
    Author

    We have not replicated the Precompiled Header setup in our cmake. That may be a problem.

  7. changed the title [-]Cpp's seem to build slow[/-] [+]Optimize compile times[/+] on Mar 27, 2025
  8. xezon commented on Mar 27, 2025

    @xezon
    Author

    Fixing the warning spams in trig.cpp should increase compile times.


    Why Is My C++ Build So Slow? Compilation Profiling and Visualization - Samuel Privett - CppCon 2024
    https://www.youtube.com/watch?v=Oih3K-3eZ4Y

  9. Mauller commented on Jul 27, 2025

    @Mauller

    We might have this mostly resolved with @aliendroid1 changes to have VC6 run over ninja. Could close this issue now.

  10. xezon commented on Jul 27, 2025

    @xezon
    Author

    There is probably more we can do. The gain with Ninja was in large from parallel build.

  11. added a commit that references this issue on Apr 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    BuildAnything related to building, compilingMinorSeverity: Minor < Major < Critical < Blocker

    Type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions