私は文字通り数十万回のタイトなループで実行される2人用ゲームを実装しています。Java Enumのパフォーマンス?
私のコードは、実際にこのようなものになります。
public class Table {
private final int WHITE_PLAYER = +1;
private final int BLACK_PLAYER = -1;
private final int currentPlayer;
private final int otherPlayer;
...
}
を私はどんなパフォーマンスヒットになるだろうかと思いまして、私は
public enum Players {
WhitePlayer,
BlackPlayer
}
として定義列挙型に
private final int WHITE_PLAYER = +1;
private final int BLACK_PLAYER = -1;
を交換することを選択します
私は、列挙型は整数定数よりも構文上の砂糖であり、テストenumのために生成されたバイトコードを調べると、それを呼び出すコードは、実際に静的メソッド呼び出しを行うのと同じだが、最初に実行されたときに設定されたいくつかの列挙型インフラストラクチャについては同じであると思われる。
私は静的定数として正しい列挙型を使用することは確かに同じか、ここで何か不足していると私の前提ですか?
何百回の時間単位で何百回ですか? –
良い質問です。私はゲームを24時間7日実行して(私が推測すると)何日かになるので、終了が早いほど早く結果を分析することができます。私はパフォーマンスチューニングスレッドとの典型的な戦争にこれを変えないように人々に頼みます。 –
それが本当に計量だと思えば、私はそれを測定します。 –