| Sorting waypoints in Quadtree | Done 250a2fa | Combine sorting colocated point lists. See #89. |
| Writing near-miss point merged wpt files | Done | |
| Processing traveler list files | Done | |
| Concurrency detection | (bottom) 1.1s | Potential for data races makes this impracticable. |
| Processing waypoint labels and checking for unconnected chopped routes | Done b07f73b | TravelMapping#397 |
| Concurrency augments | Done | |
| Computing stats | Done | Had less luck first time round: Spent all its time hung up inside one mutex with one map always creating and throwing std::out_of_range. Was written a little too much like the original Python. :) |
| per-traveler stats log entries | Done | |
| Writing traveler list logs | Done | Maybe fold the writing into the calculation... Only 0.2 s now. Done. |
| Writing stats csv files | Done 2dd3b28 | ~ 1/3 all active, 1/3 active+preview, 1/3 individual systems |
| unique names and vertices | Done 4d988b3 | TravelMapping#285 |
| Creating edges | (medium) 3.3s | Do #175 first! Need mutex, to: • check for duplicate edges (reorder code in 1st ctor). • add to adjacency lists Just one should be good, but see below... |
| Compressing collapsed edges | (low) ~1.3s | Need mutex for adding to and detaching from adjacency lists. • 1 for every vertex = 22,686,480 B • 1 for every quadtree node (faster) = 4,916,336 B • 1 for every quadtree node (slower) = 1,526,120 B • 1 for everything = 40 B. I can get away with this, right? |
| writing master graphs | Done 96be2a3 | Combined into one function & written alongside subgraphs. |
| subgraphs | Done 4879245 | |
| Performing data checks | Done | Folded into Route::read_wpt to take advantage of idle CPU time while waiting for I/O. |
| Marking datacheck false positives | (high) 9.7s | Iterator validity, etc. Don't think parallel, just think concurrent -- see TravelMapping#379 |
| database file | Done bc96425 | Start one thread writing everything except for the graph info; generate graphs; join() the file-writing thread; append graph data to the file. |
250a2fa
1.1s
b07f73b
Maybe fold the writing into the calculation... Only 0.2 s now.Done.
2dd3b28
4d988b3
3.3s
Need mutex, to:
• check for duplicate edges (reorder code in 1st ctor).
• add to adjacency lists
Just one should be good, but see below...
~1.3s
• 1 for every vertex = 22,686,480 B
• 1 for every quadtree node (faster) = 4,916,336 B
• 1 for every quadtree node (slower) = 1,526,120 B
• 1 for everything = 40 B. I can get away with this, right?
96be2a3
4879245
Route::read_wptto take advantage of idle CPU time while waiting for I/O.9.7s
bc96425