avoid segment allocations while parsing
This commit is contained in:
@@ -357,14 +357,14 @@ fn custom_osu() {
|
||||
let accum = start.elapsed();
|
||||
|
||||
// * Tiny benchmark for map parsing
|
||||
// let mut accum = accum;
|
||||
let mut accum = accum;
|
||||
|
||||
// for _ in 0..iters {
|
||||
// let file = File::open(path).unwrap();
|
||||
// let start = Instant::now();
|
||||
// let _map = Beatmap::parse(file).unwrap();
|
||||
// accum += start.elapsed();
|
||||
// }
|
||||
for _ in 0..iters {
|
||||
let file = File::open(path).unwrap();
|
||||
let start = Instant::now();
|
||||
let _map = Beatmap::parse(file).unwrap();
|
||||
accum += start.elapsed();
|
||||
}
|
||||
|
||||
println!("Parsing average: {:?}", accum / iters);
|
||||
|
||||
@@ -375,13 +375,13 @@ fn custom_osu() {
|
||||
let accum = start.elapsed();
|
||||
|
||||
// * Tiny benchmark for pp calculation
|
||||
let mut accum = accum;
|
||||
// let mut accum = accum;
|
||||
|
||||
for _ in 0..iters {
|
||||
let start = Instant::now();
|
||||
let _result = crate::OsuPP::new(&map).mods(0).calculate();
|
||||
accum += start.elapsed();
|
||||
}
|
||||
// for _ in 0..iters {
|
||||
// let start = Instant::now();
|
||||
// let _result = crate::OsuPP::new(&map).mods(0).calculate();
|
||||
// accum += start.elapsed();
|
||||
// }
|
||||
|
||||
println!("{:#?}", result);
|
||||
println!("Calculation average: {:?}", accum / iters);
|
||||
|
||||
@@ -48,7 +48,7 @@ impl OsuObject {
|
||||
HitObjectKind::Slider {
|
||||
pixel_len,
|
||||
repeats,
|
||||
curve_points,
|
||||
control_points,
|
||||
} => {
|
||||
// Key values which are computed here
|
||||
let mut lazy_end_pos = h.pos;
|
||||
@@ -68,7 +68,7 @@ impl OsuObject {
|
||||
}
|
||||
|
||||
// Build the curve w.r.t. the curve points
|
||||
let curve = Curve::new(curve_points, *pixel_len, slider_buf);
|
||||
let curve = Curve::new(control_points, *pixel_len, slider_buf);
|
||||
|
||||
let velocity =
|
||||
(BASE_SCORING_DISTANCE * map.slider_mult * slider_state.slider_velocity)
|
||||
|
||||
Reference in New Issue
Block a user