It's definitely been improving since that initial rewrite. There's still a few rough spots, but they can be avoided almost entirely by writing idiomatic Swift — the stuff that trips SourceKit up tends to be things like nesting closures deeply and ridiculously long optional chains.
SwiftUI has done well to expose SourceKit/Xcode's weak spots. Nearly all of the performance improvements brought to both in the last major release were a result of SwiftUI applying pressure in the previous release.
I was playing with swift a few months ago on my 2016 MacBook Pro and Sourcekit sat on 100% cpu for hundreds of milliseconds whenever I typed a keystroke for some reason. There’s also a bug / horrible design choice in the macos kernel from the last couple of years where if the cpu is pegged, the computer drops keystrokes. These two bugs combined to make my computer lose keystrokes while typing function names - they came out garbled unless I purposefully typed really slowly. I was gobsmacked. It was the worst code editing experience I’ve ever had. Maybe I’m “using the wrong swift features” but it really just feels like its amateur hour at Apple. Did all the senior engineers leave in the last few years? Xcode as a whole has sort of felt like beta software since Xcode 3. Every version they fix one bug, add a headline feature and add 3 new bugs to work around. And everything gets 20% slower. It seems like they keep rushing releases out the door for wwdc then they never fix it properly afterwards.
Swift is a lovely language but the experience is thoroughly and totally ruined by Xcode. Xcode manages to make eclipse feel lightweight and snappy.
Yikes I’ve seen that bluetooth problem happen but I hadn’t connected it to cpu load. That makes total sense if it’s dropping interrupts. Maybe I should plug in my “magic” keyboard and trackpad.
I remember when Xcode 4 came out. It was slow and buggy we all thought they’d fix it over the next few releases. That just never seems to have happened. It’s a pity - for all of apple’s history of amazing UX, Microsoft’s visual studio (and vs code) are vastly better IDEs for writing software.
there are two other things i notice that seems to happen as well
1. keyboard repeats keys under high load situations
2. mouse cursor lags badly (like seconds) when switching darkmode or an external monitor...
yea, xcode just seems to be stuck in "itunes mode" where every release seems to just tweak thing but never fundamentally improve... i hope this doesnt forebear "apple music" version of xcode (starts sweating)
Has it? In my experience, the Swift rewrite of Xcode source editing has made it vastly more buggy. I forget exactly when this happened, Xcode 8? 9?