2017-01-31 45 views
2

アップルのTextEditサンプルアプリ(here)をダウンロードしました。私はそこに表示されている1つのことに少し戸惑っています:TextEdit.scatterloadファイル。関数とメソッドのリストが含まれています。私の推測では、アプリケーションが起動するとき、どの関数/メソッドが必要なのか、どの順番でリンカに情報を提供するのか、リンカによって生成されたバイナリを順序付けして効率を最大化するために情報を提供するということです。奇妙なことに、私はGoogleを介してこのファイルに関する情報を見つけることができないようです。そう。まず第一に、このファイルの機能に関する私の推測は正しいですか? 2番目の場合は、自分のmacOSアプリケーション用に.scatterloadファイルを生成して、起動を高速化できますか?どうすればいい?良いアイデアのようだ! (私はObjective-Cを使用していますが、おそらくこの質問はそれに固有のものではないので、ここでタグ付けするつもりはありません)macOSの ".scatterload"ファイルとは何ですか?

+0

あなたはどういうことを言っていますか?提供されたリンクにそのようなファイルはありません。 –

+0

[サンプルコードをダウンロード]ボタンをクリックすると、そのファイルがプロジェクトにあります(少なくとも30分前にダウンロードしたバージョン: - >)。何らかの理由で、Appleがブラウザに表示させないことを選択したと思う。 – bhaller

+0

あなたは正しいことが私が試したものです! –

答えて

2

スキャッタローディングは、コードをメモリにマッピングする方法を指しますどのコード部分がどちらに近いかを指定するなどしてページ違反などを最適化します。 ここで読むことができますImproving locality of reference (HTML) またはここにImproving locality of reference (PDF)

.scatterloadファイルはリンカによって実行可能ファイルのメモリレイアウトにコードを配置するために使用されます。

あなたのアプリが厳密なパフォーマンスチューニングを本当に必要としている場合を除いて、私はこれを見てみることをお勧めしません。

関連する問題