1

を返す単一のメソッドでほぼ完全に構成されるObjective-CクラスファイルがありますNSDictionary。はNSDictionary非常に大きなリテラルとして構築されます。5250 行のリテラル。途中のどこかからの抜粋は次のとおりです。

-------8<-------
@{
  kSectionKey : year_1982_section,
  kItemsKey : @[
    @{ kItemCode : @"03388", kNameKey : january, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03389", kNameKey : march, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03390", kNameKey : april, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03391", kNameKey : may, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03392", kNameKey : june, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03393", kNameKey : july, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03394", kNameKey : august, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03395", kNameKey : september, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03396", kNameKey : october, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03397", kNameKey : november, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
    @{ kItemCode : @"03398", kNameKey : december, kApprovedKey : @YES, kRequiresAuthorizationKey : @NO },
  ]
},
-------8<-------

はい、JSON または XML ファイルをロードするだけでなく、なぜそれを行っているのかを知りたいと思っていることは承知しています。このフォーラムで議論したくないのには十分な理由があります。

これをラップトップの Xcode でコンパイルすると、非常に高速であることがわかりました。しかし、継続的インテグレーションの一部としてコンパイルするのは非常に遅いです。最後に試した(そしてキャンセルした)ときは少なくとも22分。

なぜそうなるのか、何か考えはありますか?CI マシンは、64 GB RAM と SSD を搭載した 2012 Mac Pro です。ビルドは、コマンド ライン経由で Xcode を実行する Jenkins によって開始されます。

4

0 に答える 0