Skip to content

Comments

Add dedicated macOS binary for Apple Silicon machines (boosting performance significantly)#1925

Merged
rafaellehmkuhl merged 1 commit intobluerobotics:masterfrom
rafaellehmkuhl:add-mac-arm64-build
Jun 23, 2025
Merged

Add dedicated macOS binary for Apple Silicon machines (boosting performance significantly)#1925
rafaellehmkuhl merged 1 commit intobluerobotics:masterfrom
rafaellehmkuhl:add-mac-arm64-build

Conversation

@rafaellehmkuhl
Copy link
Member

@rafaellehmkuhl rafaellehmkuhl commented Jun 4, 2025

Till now, we were only generating the x64 build, which works on Apple Silicon machines, but with a considerable performance impact.

On my tests, this dedicated arm64 binary decreased the startup time from 50 seconds to 3 seconds in a cold boot and from 20 seconds to 1 second in a hot test (opening a second time). Significant performance improvements are also expected on runtime, as using the x64 build on arm64 machines requires Rosetta which basically makes the JIT run twice, among other things.

Anyone running Cockpit on Apple Silicon macOS machines should upgrade to this new version.

Fix #902
To be merged after #1934

@rafaellehmkuhl rafaellehmkuhl force-pushed the add-mac-arm64-build branch 5 times, most recently from b86cd0c to a25dfdf Compare June 4, 2025 16:15
@rafaellehmkuhl rafaellehmkuhl changed the title Add dedicated arm64 binary for macOS, and create an extra universal one Add universal binary for macOS (boosts performance significantly on Apple Silicon machines) Jun 4, 2025
@rafaellehmkuhl rafaellehmkuhl force-pushed the add-mac-arm64-build branch 2 times, most recently from 67d72a6 to 95cdca1 Compare June 4, 2025 18:22
@rafaellehmkuhl rafaellehmkuhl changed the title Add universal binary for macOS (boosts performance significantly on Apple Silicon machines) Add dedicated macOS binary for Apple Silicon machines (boosting performance significantly) Jun 4, 2025
@rafaellehmkuhl
Copy link
Member Author

So turns out that "universal" builds are fine, we can release them and the users can install them, with the security warning, just as the x64 ones, but for the new arm64 builds Apple enforces notarization and signing, so we have to either do it or ask the users to run xattr -d com.apple.quarantine XXX.dmg to disable gatekeeper on the build file, which is not an option (at least for releases, on PRs I think its fine).

I will put that PR on draft for now and try to fix the notarization and signing process. If I don't get it to work this week I will push for the universal build for now, till we get the notarization and signing fixed, as having the application running smoothly is more important than having a light build file.

@rafaellehmkuhl rafaellehmkuhl marked this pull request as draft June 4, 2025 19:35
@rafaellehmkuhl rafaellehmkuhl marked this pull request as ready for review June 16, 2025 15:13
@rafaellehmkuhl rafaellehmkuhl merged commit 160928e into bluerobotics:master Jun 23, 2025
12 checks passed
@rafaellehmkuhl rafaellehmkuhl deleted the add-mac-arm64-build branch June 23, 2025 18:33
@ES-Alexander ES-Alexander added the docs-needed Change needs to be documented label Jul 16, 2025
@ES-Alexander ES-Alexander added the docs-in-progress Included in an open docs PR label Dec 18, 2025
@ES-Alexander ES-Alexander added docs-complete Change documentation has been completed and removed docs-needed Change needs to be documented docs-in-progress Included in an open docs PR labels Jan 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-complete Change documentation has been completed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add apple silicon binaries

3 participants