私が巨大な配列とその値を持っていると仮定します。配列の値のインデックスを取得したい。他に方法はありますArray#index
か?問題は、本当に巨大な配列を維持し、Array#index
膨大な回数を呼び出す必要性から生じます。
数回試行した結果、値自体ではなくフィールドを持つ構造体を格納することで要素内にインデックスをキャッシュすると(value, index)
、パフォーマンスが大幅に向上することがわかりました(20倍の勝率)。
それでも、キャッシュせずにen要素のインデックスを見つけるより便利な方法があるかどうか(または、パフォーマンスを向上させる優れたキャッシュテクニックがあるかどうか)。