Alpha v1.0.0

Commits

All Rust commits from Facepunch

9 total commits for branch:
/

Member Avatar
Daniel P07/05/202618:16:58
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150996)

Clean: store buffer[pos] accesses in a variable Just for easier code reading Tests: ran unit tests

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Daniel P07/05/202618:08:09
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150995)

Clean(editor): get rid of Pool.UseSafetyChecks flag - lock-free Pool can't ensure associated hashset consistency, so we can't use that anymore - checking for null on Take call doesn't seem to make sense since awhile back Tests: ran tests. StressTestMT doens't sporadically fail anymore

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Daniel P07/05/202617:53:04
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150994)

Optim: couple micro optims - rewrite a couple branches into branchless logic - inlined IsTurnTicketSameIgnoreProgress - got rid of module via use of MADD - added extra comments for explaining what's going on AllocDeallocST: 2.82 -> 2.77ms for 10k allocs. Tiny, but every bit helps Tests: ran unit and perf tests

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Daniel P07/05/202615:57:48
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150981)

Update: replace member variables with cacheline sized counterparts Didn't see any notable change in perf tests, but wouldn't hurt Tests: ran tests

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Daniel P07/05/202615:05:15
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150977)

Merge: from pool_mt

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Daniel P01/05/202623:07:28
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150516)

Bugfix: rewrite fuzzy circular buffer to prevent gradual poisoning of the pool (hurt my brain) Lost a bunch of perf(loses a bit to CircularBuffer in some tests, wins in others), but the spills are now minimal. AllocDeallocST - Avg: 0.79ms, Created: 0 Spilled: 0 AllocDeallocMTShortLived - Avg: 4.03ms, Created: 22(0.07%) Spilled: 25(0.08%) AllocDeallocMTLongLived - Avg: 3.84ms, Created: 0 Spilled: 0 AllocDeallocMPSC - Avg: 3.96ms, Created: 0 Spilled: 0 Tests: ran all unit and perf tests.

2
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Daniel P01/05/202611:45:12
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150453)

Update: use volatile int instead of Volatile.Read(ref long), as the latter is an expensive CAS Existing code was using non-volatile read of long, but I don't think it's safe Tests: ran perf tests

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Daniel P01/05/202611:21:01
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150448)

Merge: from pool_mt

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Member Avatar
Daniel P01/05/202610:28:31
rust_reboot/main/pool_mt/fuzzy_circularbuffer (#150439)

Update: fuzzy version of pool with CircularBuffer Fastest so far, but has a tendency to spill/allocate in during very high contention AllocDeallocST - Avg: 0.63ms, Created: 0 Spilled: 0 AllocDeallocMTShortLived - Avg: 2.79ms, Created: 144(0.45%) Spilled: 169(0.53%) AllocDeallocMTLongLived - Avg: 2.94ms, Created: 0 Spilled: 0 AllocDeallocMPSC - Avg: 3.26ms, Created: 0 Spilled: 0 Tests: ran unit and perf tests

0
0
Likes and dislikes cannot be added/removed here. Please go to the official Facepunch Commits site to do this.
Public Commit
Rust Utility Hub - Commits - main/pool_mt/fuzzy_circularbuffer