Skip to content

Explore slow linux and macOS compile times #6594

Open
@rhuanjl

Description

@rhuanjl

The CI Linux and macOS jobs have always been much slower than the windows once. In the past I believed that was because the hosts used were slower.

BUT with the fix in #6592 the actual tests now perform at similar speeds - with linux sometimes being faster than windows, this strongly implies that the machines are not significantly slower.

However the compile time on macOS and Linux is still 3-4x as long as it is on windows - I'd expect PAL to add 10% - but the difference is so much higher than that.

Investigate why this compilation takes so much longer and see if it can be fixed.

Things that are not the answer:

  • optimisation level (Debug which is not optimised and Release which uses -O3 take similar time to build)
  • PAL compilation time - prior to Speed up linux and macOS CI by A LOT #6592 PAL was being built twice, cutting this only took off ~5 minutes online, maybe 2 minutes offline
  • #pragma once the non-standard means for tracking included headers - I was wondering if this was failing and headers were being included multiple times BUT I've checked and that's not the case
  • make vs ninja - testing offline difference was negligible +/- 8 seconds on a clean ~10.5 minute build
  • gcc vs clang - testing offline gcc was actually 20% faster but that is again not the size of difference we're looking for

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions