Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement minimum alignment #242

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

CeleritasCelery
Copy link

This is still failing for the Allocator API. I have tried to dig into why, but I was not able to narrow it down. It looks like we will change the alignment when reallocating/growing/shrinking, but I have not been able to determine where that is happening. Either way here is the benchmarks so far (everything with >2% difference).

group                                        min_align                               std
-----                                        ---------                               ---
alloc-with/medium                            1.00     20.6±0.16µs 463.2 MElem/sec    1.15     23.7±0.17µs 402.7 MElem/sec
alloc/medium                                 1.00     20.7±0.17µs 459.8 MElem/sec    1.13     23.4±0.26µs 408.3 MElem/sec
alloc/push_str                               1.06   267.0±94.31ns 57.2 GElem/sec     1.00   251.2±76.56ns 60.8 GElem/sec
extend 1024 bytes/extend                     1.00      2.1±0.04µs 461.6 MElem/sec    1.05      2.2±0.24µs 438.4 MElem/sec
extend 1024 bytes/extend_from_slice_copy     1.00     18.7±0.32ns 50.9 GElem/sec     1.06     19.8±2.19ns 48.2 GElem/sec
extend 11 bytes/extend_from_slice            1.04     24.7±1.48ns 423.9 MElem/sec    1.00     23.8±1.37ns 440.1 MElem/sec
extend 128 bytes/extend_from_slice           1.00    259.5±1.79ns 470.4 MElem/sec    1.03    266.9±4.87ns 457.3 MElem/sec
extend 16384 bytes/extend_from_slice_copy    1.00   221.6±43.66ns 68.9 GElem/sec     1.24   274.7±96.49ns 55.5 GElem/sec
extend 331 bytes/extend_from_slice_copy      1.00     10.6±0.20ns 29.0 GElem/sec     1.04     11.0±0.56ns 27.9 GElem/sec
extend 4096 bytes/extend_from_slice_copy     1.00     55.3±3.28ns 69.0 GElem/sec     1.04    57.5±14.89ns 66.3 GElem/sec
extend 64 bytes/extend_from_slice            1.00    129.9±0.86ns 470.0 MElem/sec    1.04    134.6±2.36ns 453.4 MElem/sec
extend 64 bytes/extend_from_slice_copy       1.00      5.2±0.05ns 11.5 GElem/sec     1.05      5.4±0.12ns 11.0 GElem/sec
try-alloc-try-with/big, big                  1.00   335.1±94.25µs 28.5 MElem/sec     1.04   349.2±95.87µs 27.3 MElem/sec
try-alloc-try-with/small, small              1.04     30.8±0.44µs 309.2 MElem/sec    1.00     29.8±0.31µs 320.5 MElem/sec
try-alloc-with/medium                        1.00     20.7±0.27µs 460.3 MElem/sec    1.15     23.7±0.22µs 402.0 MElem/sec
try-alloc/big                                1.00   237.4±11.62µs 40.2 MElem/sec     1.05   248.7±15.99µs 38.3 MElem/sec
try-alloc/medium                             1.00     20.8±0.26µs 457.6 MElem/sec    1.12     23.3±0.18µs 409.5 MElem/sec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant