XcodeBenchmark icon indicating copy to clipboard operation
XcodeBenchmark copied to clipboard

Swift build system

Open sverrisson opened this issue 3 years ago • 3 comments

There is a new build system coming out for Xcode that allows improved build times and will probably become the default soon. This change allows this new build system to be used: defaults write com.apple.dt.XCBuild EnableSwiftBuildSystemIntegration YES

The build system and Swift compiler have a new mode that better utilizes available cores, resulting in faster builds for Swift projects. Xcode 13.2 RC Release Notes

It also improves cleanup of the environment by storing the starting conditions and returning it in the same state. A line was added to pull requests to prevent overclocking or other tricks to improve the build time beyond what normal users would experience.

Screenshot 2021-12-12 at 23 58 42

sverrisson avatar Dec 13 '21 00:12 sverrisson

@devMEremenko I think we should add the part that shows if someone is using the new build system, even though we will not use it for us. As it can change the results substantially.

sverrisson avatar Dec 13 '21 18:12 sverrisson

Hi @sverrisson,

I am sorry for the late reply.

Everything looks good to me 👍

I am going to also update the structure of the table:

  • remove HDD column
  • add PM (aka Power mode) column to see if the High Power Mode improves the compilation time. (I assume this setting only improves GPU intensive tasks)

Help Needed

If you have M1 Max MacBook

Could you please share the output of pmset -g?

I want to detect when the High Power Mode is enabled.

Instructions:

  1. Enabled the High Power Mode
  2. Run pmset -g. It prints the power management settings in use by the system
  3. Share the output

Repeat the same steps for Automatic and Low power modes.

devMEremenko avatar Mar 20 '22 17:03 devMEremenko

I have a MacBook Pro (14-inch, 2021) M1 Max and it only allows automatic or low power modes. I'll show the settings below for both:

Normal Mode: automatic

% pmset -g System-wide power settings: Currently in use: standby 1 Sleep On Power Button 1 hibernatefile /var/vm/sleepimage powernap 1 disksleep 10 sleep 1 (sleep prevented by powerd, sharingd) hibernatemode 3 ttyskeepawake 1 displaysleep 3 tcpkeepalive 1 lowpowermode 0

=========================

Low Power Mode:

% pmset -g System-wide power settings: Currently in use: standby 1 Sleep On Power Button 1 hibernatefile /var/vm/sleepimage powernap 1 disksleep 10 sleep 1 (sleep prevented by powerd, useractivityd, sharingd) hibernatemode 3 ttyskeepawake 1 displaysleep 3 tcpkeepalive 1 lowpowermode 1

sverrisson avatar Mar 20 '22 18:03 sverrisson