@Catfish-Man asked me to make a bug about this performance regression we're seeing between Swift 5.1 (we have had 5.1 deployed in production for quite some time) and Swift 5.3 (we just got it cross-compiling our binaries via Yocto/Bitbake).
It's a little hard to pin-down the cause. At first I thought it was strictly `futex` related, but I started a longer-running daemon and let it finish loading (where a lot of retain/release activity is) and those calls settled down. However, the performance issue remained.
I have several time profiles from `perf` available if desired, but they'll need to be used with a rootfs image containing the debug symbols (we have a link to this available, but won't share it on a public forum).
I have @colemancda assigned on our team to work on this bug full-time, but we're not really swift compiler engineers, so I'm sure he'll need some pointers to be maximally helpful
The text was updated successfully, but these errors were encountered:
Could you file a bug report through feedbackassistant.apple.com with the perf time profiles and the rootfs image link attached? That seems like it would be helpful in reproducing and measuring things.
Here is a test tool we wrote for characterizing different factors that impact the regression. We're working on buttoning-up the readme now https://github.com/colemancda/SR-14528
We have been able to build Swift 5.5.3 with Yocto and Buildroot without the performance penalty. It seems that Yocto was injecting some build settings that caused the underlying issue. The issue was never observed when cross compiling the Swift stdlib with Buildroot.
Environment
Swift 5.3 on Arm32/linux with kernel 4.9 and 5.9.
Additional Detail from JIRA
md5: cbcee298a1647106fe92626d16e134ab
Issue Description:
@Catfish-Man asked me to make a bug about this performance regression we're seeing between Swift 5.1 (we have had 5.1 deployed in production for quite some time) and Swift 5.3 (we just got it cross-compiling our binaries via Yocto/Bitbake).
It's a little hard to pin-down the cause. At first I thought it was strictly `futex` related, but I started a longer-running daemon and let it finish loading (where a lot of retain/release activity is) and those calls settled down. However, the performance issue remained.
I have several time profiles from `perf` available if desired, but they'll need to be used with a rootfs image containing the debug symbols (we have a link to this available, but won't share it on a public forum).
I have @colemancda assigned on our team to work on this bug full-time, but we're not really swift compiler engineers, so I'm sure he'll need some pointers to be maximally helpful
The text was updated successfully, but these errors were encountered: