@@ -1519,10 +1519,68 @@ let cp_20240311_quadtree_exception () =
1519
1519
1520
1520
()
1521
1521
1522
+ let cp_20240821_query_quadtreetest () =
1523
+
1524
+ let path = @" W:\Datasets\Vgm\Quadtree\20240821_query_quadtreetest" ;
1525
+
1526
+ printfn " path = %s " path
1527
+
1528
+ let options = SerializationOptions.NewInMemoryStore( verbose = false )
1529
+
1530
+ let idFile = Guid( File.ReadAllText( @" W:\Datasets\Vgm\Quadtree\20240821_query_quadtreetest\builder.20240821101057.638598318576754995.key.txt" ))
1531
+ let builderReloadedFile = Builder.Import( path, idFile)
1532
+ match builderReloadedFile with
1533
+ | None -> printfn " reloaded from file = None"
1534
+ | Some x ->
1535
+ printfn " reloaded from file, %d patches" ( x.GetPatches() |> Seq.length)
1536
+
1537
+ let sw = Stopwatch.StartNew()
1538
+ let buildConfig = { BuildConfig.Default with Verbose = false ; SplitLimitPowerOfTwo = 8 }
1539
+ let maybeQuadtree = x.Build2 buildConfig
1540
+ sw.Stop()
1541
+ printfn " [TIMING] build: %A " sw.Elapsed
1542
+
1543
+ match maybeQuadtree with
1544
+ | None -> failwith " build failed"
1545
+ | Some qtree ->
1546
+
1547
+ let makeReturnValOfQueryResults ( resultChunk : seq < Query.Result >) ( def : Aardvark.Data.Durable.Def ) =
1548
+
1549
+ let samples =
1550
+ resultChunk
1551
+ |> Seq.collect ( fun chunk -> chunk.GetSamples< V4f> def)
1552
+ |> Seq.toList
1553
+
1554
+ samples
1555
+
1556
+ let sw = Stopwatch.StartNew()
1557
+ let config = Query.Config.Default //{ Query.Config.Default with Verbose = true }
1558
+ let resultCells = qtree |> Query.All config |> Seq.toArray
1559
+ let samples = makeReturnValOfQueryResults resultCells Defs.HeightsBilinear4f
1560
+ let samplesLength = samples.Length
1561
+ sw.Stop()
1562
+ printfn " [TIMING] query all samples: %A " sw.Elapsed
1563
+
1564
+ printfn( " SAMPLES: count=%d " ) samplesLength
1565
+ let gs = samples
1566
+ |> List.groupBy ( fun ( c , v ) -> c.Exponent)
1567
+ |> List.map ( fun ( e , xs ) ->
1568
+ let countNaN = xs |> Seq.filter( fun ( _ , x ) -> x.IsNaN) |> Seq.length
1569
+ ( e, xs.Length, countNaN)
1570
+ )
1571
+ for ( e, c, cNaN) in gs do
1572
+ //printfn(" e=%d; count=%d; count NaN=%d") e c cNaN
1573
+ ()
1574
+
1575
+
1576
+ ()
1577
+
1522
1578
[<EntryPoint>]
1523
1579
let main argv =
1524
1580
1525
- cp_ 20240311_ quadtree_ exception ()
1581
+ cp_ 20240821_ query_ quadtreetest ()
1582
+
1583
+ //cp_20240311_quadtree_exception ()
1526
1584
1527
1585
//cp_20240219_quadtreetest ()
1528
1586
0 commit comments