Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Commit 907de59 tried to improve GenericVector, but missed a case where vectors with less than kDefaultVectorSize were allocated. This resulted in additional alloc / free operations. Commit a28b2a0 (before memory optimization) oem 0: total heap usage: 739,238 allocs, 739,237 frees, 161,699,214 bytes allocated oem 1: total heap usage: 690,182 allocs, 690,175 frees, 144,470,400 bytes allocated oem 2: total heap usage: 728,213 allocs, 728,206 frees, 182,885,824 bytes allocated Commit fd3f8f9 without genericvector change oem 0: total heap usage: 738,980 allocs, 738,979 frees, 161,697,150 bytes allocated oem 1: total heap usage: 690,182 allocs, 690,175 frees, 144,470,400 bytes allocated oem 2: total heap usage: 728,213 allocs, 728,206 frees, 182,885,824 bytes allocated => Improvements for oem 0, no change for oem 1 and oem 2. Commit fd3f8f9 oem 0: total heap usage: 772,648 allocs, 772,647 frees, 160,083,901 bytes allocated oem 1: total heap usage: 748,591 allocs, 748,584 frees, 143,581,672 bytes allocated oem 2: total heap usage: 764,796 allocs, 764,789 frees, 181,212,197 bytes allocated => Less bytes allocated, but more allocs / frees = bad for performance. Commit fd3f8f9 with this patch oem 0: total heap usage: 677,537 allocs, 677,536 frees, 160,444,634 bytes allocated oem 1: total heap usage: 653,812 allocs, 653,805 frees, 143,423,008 bytes allocated oem 2: total heap usage: 670,029 allocs, 670,022 frees, 181,517,760 bytes allocated => Improvements for all three cases. Signed-off-by: Stefan Weil <[email protected]>
- Loading branch information