Compare commits

...

6 Commits

Author SHA1 Message Date
853eead617 improved simulation for multiple samples 2024-06-06 11:21:34 +02:00
bcf0430bf6 reduced optimization for performance 2024-06-06 11:20:41 +02:00
a9231c64bc quick fix 2024-06-03 09:57:42 +02:00
df4bc1922f Merge remote-tracking branch 'origin/main'
# Conflicts:
#	src/main.rs
2024-06-03 09:55:48 +02:00
709ffb313f added file backups 2024-06-03 09:54:40 +02:00
2ea8ba5a39 removed print in simulation 2024-06-03 09:50:18 +02:00
2 changed files with 15 additions and 13 deletions

View File

@@ -9,7 +9,7 @@ path = "src/main.rs"
[profile.release]
strip = true # Automatically strip symbols from the binary.
opt-level = 3
opt-level = 2
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

View File

@@ -15,7 +15,8 @@ mod function;
mod plot;
const THREAD_CNT: usize = 20;
const SAMPLE_LIMIT: usize = 100_000_000;
const SAMPLE_START: usize = 100_000_000_000;
const SAMPLE_LIMIT: usize = 1_000_000_000_000;
const SUB_SAMPLES: [usize; 3] = [1, 2, 5];
const SAMPLES_PER_ITERATION: usize = 250;
@@ -27,10 +28,10 @@ fn main() {
let bounds: Bounds = Bounds::new(LinearBounds::new(3.1_f64, 3.2_f64), LinearBounds::new(-10_f64, 35_f64));
let func: Function = Function::new(f);
let start: Instant = Instant::now();
println!("{}\n{}ms", func.approximate(&bounds, 1_000_000_000, THREAD_CNT), start.elapsed().as_millis())
//let start: Instant = Instant::now();
//println!("{}\n{}ms", func.approximate(&bounds, 10_000_000, THREAD_CNT), start.elapsed().as_millis())
//simulate(&bounds, &func)
simulate(&bounds, &func)
}
fn simulate(bounds: &Bounds, func: &Function) {
@@ -48,13 +49,14 @@ fn simulate(bounds: &Bounds, func: &Function) {
println!();
}
sample_cnt *= 10;
}
result.print();
let file: io::Result<File> = File::create("output.json");
if file.is_err() {
panic!("Error creating output file")
}
let file: io::Result<File> = File::create(format!("out/output{}.json", sample_cnt.ilog10()));
if file.is_err() {
panic!("Error creating output file")
}
if let Err(_) = file.unwrap().write(result.to_json().to_string().as_bytes()) { panic!("Error writing to file") };
if let Err(_) = file.unwrap().write(result.to_json().to_string().as_bytes()) { panic!("Error writing to file") };
result = Plot::new();
}
}