Xcode 15.1でswift runの実行時間が元に戻っていた

モチベーション

以前『Xcode 15 で swift run が遅い』というタイトルで登壇したが、今日Xcode 15.2がリリースされたので様子を見た。

speakerdeck.com

というのも、Xcode 15ではswift runの内部で(おそらくbetaの名残で)visionOSのSDKを探す処理が入っており、存在しないものを探していたため実行時間が長かったが、Xcode 15.2でvisionOSのSDKがnot betaな本流のXcodeでもインストールできるようになったため、改善されたのではないかと予想していた。

swift runの実行時間がXcode 15.1から元の水準に戻っていた

直近3バージョンを比較したら、15.1から実行時間が元の水準に戻っていたことが分かった。

Xcode 15.0.1: 3.4秒

$xcodebuild -version
Xcode 15.0.1
Build version 15A507

$time (swift run --vv)
# 省略
( swift run --vv; )  0.04s user 0.04s system 2% cpu 3.440 total

Xcode 15.1: 0.68秒

$xcodebuild -version
Xcode 15.1
Build version 15C65

$time (swift run --vv)
# 省略
( swift run --vv; )  0.04s user 0.04s system 12% cpu 0.679 total

Xcode 15.2: 0.46秒

$xcodebuild -version
Xcode 15.2
Build version 15C500b

$time (swift run --vv)
# 省略
( swift run --vv; )  0.04s user 0.03s system 15% cpu 0.456 total

swift run --vv のログを見てみると、遅かった原因の /usr/bin/xcrun --sdk xros --show-sdk-platform-pathXcode 15.1以降では実行されていなかった。また、/usr/bin/xcrun --sdk {OS名} --show-sdk-platform-path の実行回数に違いがあった。

前提条件として自分のXcode 15系のbetaにはvisionOSのSDKはいれていないので、それの影響でXcode15.0.1でvisionOSのSDKを探しに行ってしまっていることは無さそうで根本原因は分かっていない。

リリースノートざっと見たけど言及されていなかった。

ともあれ、実行時間がグッと短縮されて元の水準に戻ったので、swift packageのexecutable packageの開発が捗りそう。

2023年を振り返る

去年

2022年を振り返る - カルボナーラ街道

去年のTry

iOS関係で登壇を目指す。ネイティブアプリケーション開発が今年でかなり好きになったし、ビルドやテスト周りなどの日々の開発体験の向上に興味がある。そういった方向では今年はCircleCIを使った内容で登壇できたので、来年は主戦場であるiOS関係で登壇を目指す。

→ ✅ 1件登壇できた。iOSというよりはAppleプラットフォームの話だが含まれているので良し。

speakerdeck.com

今年のGitHub上のパブリックな活動

https://github.com/pulls?q=involves%3Atokizuoh+-user%3Atokizuoh+is%3Apublic+created%3A2023-01-01..2023-12-31+

やって良かったこと

Apollo iOSに対するOSSコントリビュート

普段Apollo iOS*1 を使っていて、理解のためにコードを読み始めたことがきっかけでコントリビュートをやり始めた。2023/12/10時点ではギリギリトップに表示される14番目に自分がいた。今はいない!

2023/12/10時点のapollographql/apollo-ios-devのContributors

エラーのテスト追加3件を含む計7つのPRがマージされた。

去年も別でOSSコントリビュートをしていたが、ドキュメント追加だったり、タイポ修正だったりだったので、今年はより一歩前進できた。

Scrapboxに小粒のメモを書き始めた

scrapbox.io

個人的にブログに書くには小粒すぎるなというトピックが結構あり、書き留めず流してしまっていたが、個人のScrapboxに書くようにした。ブログより書くハードルが下がって、半年ほどで50個ほど書くことが出来た。PRのレビュー時にさっとリンクが貼れて良い。(ブログでもできるが)

自分用の運動アプリ開発と適度な運動

二年前ぐらいから運動のモチベーション継続のために自分用アプリを使っては書き直してを繰り返していたが、やっと今年で満足の行くものができた。

tokizuoh.hatenablog.com

満足したからか、最近 Apple Watch をつけるのが面倒になってきていて、何かしらの数値が取れれば良いのでiPhoneのみで取得できる歩数だけでも良いかなと思い始めている。最近はいかに身軽にするかを考えている。

アプリを作るだけでなく、運動も毎月目標を立ててこなした。運動データが無いと表示されるものがなくて寂しいので、データを生成するために運動した。単純だが結構効いて運動するモチベーションになった。身近なトピックに対して仕事にしている技術を使えるのは素直に嬉しいことだなと思う。

毎月やっていた振り返り記事は今年でストップする

2022年1月から2023年12月まで毎月の振り返り記事を漏れなく24記事書いてきた。元々振り返り自体が苦手でボヤッと生きていた感覚があって、それを改善するためにやり始めた。今は出来るようになって、毎月書く必要性を感じなくなったのでやめる。

来年の抱負

来年は今の会社に転職した時に抱いていた目標を叶えるために目の前のこと一つ一つに集中していく。

2023年12月を振り返る

今月は同僚に会いに行く目的とJALスカイメイトがそろそろ使えなくなるので使っておこう目的を叶えるために弾丸で大阪・京都に半日ほど滞在した。

りんくう公園

普段滅多に外出しないせいか、一日にありったけの予定を詰め込む関係で京都には二時間ぐらいしかいられなかった。次はもっとゆっくり過ごしたい。いや、それは嘘で、やっぱり詰め込みたい。移動が好きなので移動してなんぼだと思っている。

- 03:00: 自宅
- 04:30: 高速バス
- 06:30: 羽田空港
- 09:00: 関西国際空港
- 10:00: りんくうタウン駅
- 11:00: 梅田駅
- 12:00: 烏丸御池駅
- 14:00: 京都駅
- 17:00: 東京駅
- 22:00: 自宅

運動

ランニングは間違えて計測したみたい。

GKPT

前回のTry

  • ✅ ストレッチ20回
    • → 23回
  • ✅ 屋内自転車マシン10回乗る
    • → 10回

Good

Keep

Problem

  • 風邪を引いた
    • 今月は毎日漏れなく白菜+一つ野菜は食べるようにした

Try

今月で毎月の振り返りはやめるのでTryはなし!