- [<Fact>]
- member this.``Benchmark`` () =
- let min = -1_000.
- let max = +1_000.
- let windowSize = 10.
-
- let rng = System.Random 42
- let nextNumber (min : float) (max : float) =
- (rng.NextDouble () * (max + abs min)) + min |> float32
-
- let points =
- [
- for i = 1 to 200_000 do
- let x = nextNumber min max
- let y = nextNumber min max
- yield Point (x, y)
- ]
-
- let tree = Tree.BuildTree points
-
- let mutable nb = 0
- for i = 1 to 1_000 do
- let minX = nextNumber min (max - windowSize)
- let minY = nextNumber min (max - windowSize)
- nb <- nb + (tree.Search { minX = minX; maxX = minX + float32 windowSize; minY = minY; maxY = minY + float32 windowSize } |> List.length)
-
- output.WriteLine (sprintf "nb: %A" nb)