對於基準測試,我需要三種不同的設置(「全部保留」,「保留大小」和「不保留」),所以我儘管可以使用枚舉。然後我看到我需要多次運行一些案例(基準使用種子隨機),而我最初的枚舉變得非常不靈活。對於Caliper,我需要重複枚舉項。經過一番嘗試失敗使其正常,我結束了本哈克的想法:這個hacky枚舉可以改進嗎?
private enum Randomization {
USE_EXAMPLE_1,
USE_EXAMPLE_2,
KEEP_EXAMPLE_SIZE_1,
RANDOM_1,
RANDOM_2,
RANDOM_3,
;
final boolean keepAll;
final boolean keepSize;
private Randomization() {
keepAll = name().startsWith("U");
keepSize = !name().startsWith("R");
}
}
它不正是我想要的,我可以添加或刪除以最小的開銷實驗。有沒有更好的解決方案?
*填充集合* - 通常是的,但我怎麼能讓Caliper和它一起工作呢?我可以編寫'@Param隨機化隨機化'並嘗試所有值。這也適用於'boolean's,但是對於其他任何你需要枚舉(作爲註釋的字符串參數)要使用的值。 – maaartinus
@maaartinus:我還沒有使用Caliper,但是如果這真的是最好的方法,我會很驚訝。 –
如果我需要讓我們說五次或五次以上的重複,這將是一個壞主意。但我只想爲隨機實驗嘗試多個種子,並且爲確定性實驗嘗試一次。 – maaartinus