我正在實施一個雙人遊戲,它將在幾十萬次的緊密循環中運行,然後是性能最重要的。Java枚舉的性能?
我的代碼實際上看起來是這樣的:
public class Table {
private final int WHITE_PLAYER = +1;
private final int BLACK_PLAYER = -1;
private final int currentPlayer;
private final int otherPlayer;
...
}
我在想,如果我想獲得任何性能損失我會選擇更換
private final int WHITE_PLAYER = +1;
private final int BLACK_PLAYER = -1;
被定義爲
public enum Players {
WhitePlayer,
BlackPlayer
}
枚舉
我的想法是,枚舉只是整數常量上的語法糖,查看爲測試枚舉生成的字節碼以及調用它的代碼似乎表明,使用它們確實與創建靜態方法調用相同,但是對於某些在第一次運行時設置的枚舉基礎結構。
是我的假設,它確實是相同的使用枚舉作爲靜態常量正確或我在這裏丟失的東西嗎?
每個單位幾十萬次? –
好問題。我會在幾天內全天候運行遊戲(我估計),所以他們結束得越快,我就越早分析他們的結果。我請求人們不要把它變成反對性能調整線程的典型戰爭.. –
如果它認爲它真的被測量,我會測量它。 –