diff options
| author | brian cully <bjc@spork.org> | 2025-12-29 12:50:01 -0500 |
|---|---|---|
| committer | brian cully <bjc@spork.org> | 2025-12-29 12:50:01 -0500 |
| commit | 316286b8b65ac5a7abf5117dc942a70b94e1be53 (patch) | |
| tree | b88a41ff223531024e96bdb2dcfeb8263ce136db /src | |
| parent | fda2373d81929dda9d0206d30cf4e3c1710859f1 (diff) | |
| download | polyring-316286b8b65ac5a7abf5117dc942a70b94e1be53.tar.gz polyring-316286b8b65ac5a7abf5117dc942a70b94e1be53.zip | |
bench with poly finding
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib.rs | 10 | ||||
| -rw-r--r-- | src/state.rs | 4 |
2 files changed, 12 insertions, 2 deletions
@@ -118,6 +118,16 @@ pub fn init() -> JSResult<()> { let perf = window().performance().unwrap(); let start = perf.now(); for _ in 0..iters { + s.points.sort_by(|a, b| { + if a.y > b.y { + std::cmp::Ordering::Greater + } else if a.y == b.y { + std::cmp::Ordering::Equal + } else { + std::cmp::Ordering::Less + } + }); + s.find_poly(); s.update()?; } let end = perf.now(); diff --git a/src/state.rs b/src/state.rs index 09120fb..592f26e 100644 --- a/src/state.rs +++ b/src/state.rs @@ -19,7 +19,7 @@ pub struct State { canvas: HtmlCanvasElement, ctx: CanvasRenderingContext2d, fps: HtmlElement, - points: Vec<Point>, + pub points: Vec<Point>, last_time: Option<f64>, inter_count: u16, } @@ -124,7 +124,7 @@ impl State { Ok(()) } - fn find_poly(&self) -> Vec<&Point> { + pub fn find_poly(&self) -> Vec<&Point> { let p1 = Point::new(0.0, 0.0); let p2 = Point::new(1.0, 0.0); let mut last_line = Line::new(&p1, &p2); |
