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