-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
[stdlib] Add SSO to String by using SBO in List with materialization workaround #2827
base: nightly
Are you sure you want to change the base?
[stdlib] Add SSO to String by using SBO in List with materialization workaround #2827
Conversation
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
6663fd2
to
e2a1575
Compare
8feea1c
to
22ba7d1
Compare
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
… remove_copyable_from_collectionelement Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
…lectionelementnew
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
Signed-off-by: gabrieldemarmiesse <gabrieldemarmiesse@gmail.com>
@gabrieldemarmiesse have you given this a rebase lately to see how things are looking? |
Not really. I can rebase if you want |
If you have some time, rebasing the SSO PRs to see where they're at with regard to compiler bugs would be very valuable. We're unwinding the explicit copyability work ( |
This PR solves part of #2467
This PR is part of three PRs to read and merge in the following order
List
, take 2 #2825The interesting part is the diff between this PR and the PR #2826
You can find this diff here: gabrieldemarmiesse/mojo@fix_materializing...gabrieldemarmiesse:mojo:add_sso_to_string
As you can see it's quite small.
A few update on the benchmarks, I removed the slowest previous implementations of SSO:
List
directly (f27b43a) from the 11/05/2024List
directly (916c64b) from the 26/05/2024 with the materialization workaroundString
(in bytes)What is inside?
This is the final touch and by far the simplest PR. We add a small buffer of size 15 to the
List
used internally byString
. That's it. No other changes needed. Why 15? Well 16 was the best number according to my benchmarks but we have one more byte as the workaround flag inList
now (see the previous PR) and we'd like to have aString
that has a size being a multiple of 8 for the cache lines and padding.When the bug is fixed, the flag will be removed and we'll be free to use 16 as the buffer size or any other multiple of 8.