summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Worthe <justin@worthe-it.co.za>2018-07-21 20:40:40 +0200
committerJustin Worthe <justin@worthe-it.co.za>2018-07-21 20:40:40 +0200
commita96424cf8a90aa93edcf4e9ff11fc54800ea1b9e (patch)
treefdc97af8d5a461f17972debafd00a9b4648b40aa
parent2cc0a6ff93b2e0dc20ba75c18ce34881bf3d9fbe (diff)
Simplified duration handling to allow longer profiling
-rw-r--r--Makefile2
-rw-r--r--src/bin/perf-test.rs5
-rw-r--r--src/engine/constants.rs11
-rw-r--r--src/main.rs12
4 files changed, 17 insertions, 13 deletions
diff --git a/Makefile b/Makefile
index 8b630d0..42ce706 100644
--- a/Makefile
+++ b/Makefile
@@ -8,7 +8,7 @@ bench:
cargo run --release --features "benchmarking" --bin perf-test
profile:
- cargo build --release --features "benchmarking single-threaded"
+ cargo build --release --features "benchmarking single-threaded extended-time"
mkdir -p target/profile
perf record -g target/release/perf-test
perf script > target/profile/out.perf
diff --git a/src/bin/perf-test.rs b/src/bin/perf-test.rs
index d4eae32..8d6a490 100644
--- a/src/bin/perf-test.rs
+++ b/src/bin/perf-test.rs
@@ -3,6 +3,7 @@ extern crate time;
use time::{PreciseTime, Duration};
use zombot::*;
+use zombot::engine::constants::*;
const STATE_PATH: &str = "tests/state0.json";
@@ -22,7 +23,7 @@ fn _expressive() {
process::exit(1);
}
};
- let max_time = Duration::milliseconds(1950);
+ let max_time = Duration::milliseconds(MAX_TIME_MILLIS);
strategy::monte_carlo::choose_move(&settings, &state, &start_time, max_time);
}
@@ -36,6 +37,6 @@ fn bitwise() {
process::exit(1);
}
};
- let max_time = Duration::milliseconds(1950);
+ let max_time = Duration::milliseconds(MAX_TIME_MILLIS);
strategy::monte_carlo::choose_move(&settings, &state, &start_time, max_time);
}
diff --git a/src/engine/constants.rs b/src/engine/constants.rs
index 9805f72..8453a54 100644
--- a/src/engine/constants.rs
+++ b/src/engine/constants.rs
@@ -27,3 +27,14 @@ pub const ENERGY_PRICE: u16 = 20;
pub const ENERGY_CONSTRUCTION_TIME: u8 = 1;
pub const DECONSTRUCT_ENERGY: u16 = 5;
+
+
+#[cfg(not(feature = "reduced-time"))]
+#[cfg(not(feature = "extended-time"))]
+pub const MAX_TIME_MILLIS: i64 = 1950;
+
+#[cfg(feature = "reduced-time")]
+pub const MAX_TIME_MILLIS: i64 = 950;
+
+#[cfg(feature = "extended-time")]
+pub const MAX_TIME_MILLIS: i64 = 19950;
diff --git a/src/main.rs b/src/main.rs
index 752e8b9..0235d5f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -3,6 +3,7 @@ extern crate time;
use time::{PreciseTime, Duration};
use zombot::*;
+use zombot::engine::constants::*;
use zombot::engine::command::Command;
use std::error::Error;
@@ -16,16 +17,7 @@ use std::io::prelude::*;
use std::process;
fn choose_move<GS:engine::GameState>(settings: &engine::settings::GameSettings, state: &GS, start_time: &PreciseTime) -> Command {
- #[cfg(not(feature = "reduced-time"))]
- #[cfg(not(feature = "extended-time"))]
- let max_time = Duration::milliseconds(1950);
-
- #[cfg(feature = "reduced-time")]
- let max_time = Duration::milliseconds(950);
-
- #[cfg(feature = "extended-time")]
- let max_time = Duration::milliseconds(19950);
-
+ let max_time = Duration::milliseconds(MAX_TIME_MILLIS);
strategy::monte_carlo::choose_move(settings, state, start_time, max_time)
}