h_crane2020/02/19 03:29> 速度を気にするなら、まずデータ構造やアルゴリズムや処理手段(遅延が気になるなら非同期処理、データ量が膨大ならGPUの活用など)を見直しましょう。 競プロをSwiftでやっており、アルゴリズムだけでなくもっと高速化できないかと思い質問している次第です。 (もちろんアルゴリズムをもっと極めるべきだとは思っています) あわよくばそれをアプリで使いたいと思っていましたが、、笑
hoshi-takanori2020/02/19 07:47競プロ方面は詳しくないのですが、それならポインタを直接使いたい場面はあるかも知れませんね。でも、Swift でポインタを使うには、Swift がどういうコードを吐くかを熟知する必要があるでしょうし、自分なら最初から C で書くと思います。Swift にこだわるのであれば、まず class(ポインタ経由かつ参照カウント)や struct(たぶん C と同様?)や配列(copy-on-write される)や文字列(utf-8 がらみでオーバーヘッドがありそう)や関数やクロージャに対してどのようなコードが吐かれるか(特に、どう書けば最適化されるか)を確認するのが先だと思います。
hoshi-takanori2020/02/26 00:24 編集書き忘れてましたが、indirect キーワードはご存知でしょうか? ポインタを使いたい状況のうち、ある程度はカバーしてくれると思います。 https://qiita.com/S_Shimotori/items/25230860d78941612d10 https://qiita.com/koher/items/0745415a8b9842563ea7
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/19 03:29
2020/02/19 07:47
2020/02/26 00:24 編集