Commit Graph

9 Commits

Author SHA1 Message Date
Matt Joiner 934944e498 Add AjwernerBtree as an alternative btree backing for piece request order
Also add some scans to benchmarks. Make a few changes to reduce allocations using piece request order.
2022-01-22 18:40:33 +11:00
Matt Joiner c54dc22592 Benchmark PieceRequestOrder with varying styles of path hint usage
Add per-piece piece request order path hints
2022-01-22 18:39:36 +11:00
Matt Joiner 62060fb897 Use tidwall/btree generics for piece request ordering 2022-01-22 18:39:36 +11:00
Matt Joiner 506ff8d037 Use relative availabilities to determine piece request order
Most overhead comes from peers that connect that have everything, and we just increment every single piece's availability. There may be some unresolved determinism with torrents that share the same ordering.
2021-12-23 14:00:00 +11:00
Matt Joiner 1668a18859 Some optimizations in PieceRequestOrder.Update and item comparisons 2021-12-15 19:18:16 +11:00
Matt Joiner 1bc84e316f Don't group Torrent piece request orders without a storage capacity together 2021-12-12 18:35:02 +11:00
Matt Joiner 8c5df03e14 Minimize allocations due to heap escapes 2021-12-12 18:35:01 +11:00
Matt Joiner 1b92249f2a Improve panic message 2021-12-12 18:35:01 +11:00
Matt Joiner 94bb5d40ba Implement piece request ordering with retained state 2021-12-12 18:35:01 +11:00