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
Fast path Uint8List to _OneByteString conversion #41703
Labels
area-vm
Use area-vm for VM related issues, including code coverage, FFI, and the AOT and JIT backends.
type-performance
Issue relates to performance or code size
Comments
askeksa-google
added
area-vm
Use area-vm for VM related issues, including code coverage, FFI, and the AOT and JIT backends.
type-performance
Issue relates to performance or code size
labels
Apr 29, 2020
9 tasks
dart-bot
pushed a commit
that referenced
this issue
Jun 10, 2020
…d strings." This reverts commit 6ecd8a1. Reason for revert: Breaks ABI Original change's description: > [vm] MemoryCopy instruction for copying between typed data and strings. > > Used for copying the bytes from the Uint8List to the _OneByteString in > String.fromCharCodes and the pure-ASCII case of UTF-8 decoding. > > Issue #42072 > Closes #41703 > > Change-Id: I1ae300222877d1c6e64e32c2f40b8fb187a584c0 > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149500 > Commit-Queue: Aske Simon Christensen <askesc@google.com> > Reviewed-by: Martin Kustermann <kustermann@google.com> TBR=kustermann@google.com,askesc@google.com Change-Id: I5fc0b58da80dca23c91b57ec2833492e9d0885a8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150802 Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>
dart-bot
pushed a commit
that referenced
this issue
Jun 11, 2020
…d strings." This is a reland of 6ecd8a1 Original change's description: > [vm] MemoryCopy instruction for copying between typed data and strings. > > Used for copying the bytes from the Uint8List to the _OneByteString in > String.fromCharCodes and the pure-ASCII case of UTF-8 decoding. > > Issue #42072 > Closes #41703 > > Change-Id: I1ae300222877d1c6e64e32c2f40b8fb187a584c0 > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149500 > Commit-Queue: Aske Simon Christensen <askesc@google.com> > Reviewed-by: Martin Kustermann <kustermann@google.com> Change-Id: Ia231c521e5f2db168cfc6094dfc7322327dedc6d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150925 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Aske Simon Christensen <askesc@google.com>
tekknolagi
pushed a commit
to tekknolagi/dart-assembler
that referenced
this issue
Nov 3, 2020
Used for copying the bytes from the Uint8List to the _OneByteString in String.fromCharCodes and the pure-ASCII case of UTF-8 decoding. Issue dart-lang#42072 Closes dart-lang#41703 Change-Id: I1ae300222877d1c6e64e32c2f40b8fb187a584c0 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149500 Commit-Queue: Aske Simon Christensen <askesc@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>
tekknolagi
pushed a commit
to tekknolagi/dart-assembler
that referenced
this issue
Nov 3, 2020
…d strings." This reverts commit 6ecd8a1. Reason for revert: Breaks ABI Original change's description: > [vm] MemoryCopy instruction for copying between typed data and strings. > > Used for copying the bytes from the Uint8List to the _OneByteString in > String.fromCharCodes and the pure-ASCII case of UTF-8 decoding. > > Issue dart-lang#42072 > Closes dart-lang#41703 > > Change-Id: I1ae300222877d1c6e64e32c2f40b8fb187a584c0 > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149500 > Commit-Queue: Aske Simon Christensen <askesc@google.com> > Reviewed-by: Martin Kustermann <kustermann@google.com> TBR=kustermann@google.com,askesc@google.com Change-Id: I5fc0b58da80dca23c91b57ec2833492e9d0885a8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150802 Reviewed-by: Ryan Macnak <rmacnak@google.com> Commit-Queue: Ryan Macnak <rmacnak@google.com>
tekknolagi
pushed a commit
to tekknolagi/dart-assembler
that referenced
this issue
Nov 3, 2020
…d strings." This is a reland of 6ecd8a1 Original change's description: > [vm] MemoryCopy instruction for copying between typed data and strings. > > Used for copying the bytes from the Uint8List to the _OneByteString in > String.fromCharCodes and the pure-ASCII case of UTF-8 decoding. > > Issue dart-lang#42072 > Closes dart-lang#41703 > > Change-Id: I1ae300222877d1c6e64e32c2f40b8fb187a584c0 > Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149500 > Commit-Queue: Aske Simon Christensen <askesc@google.com> > Reviewed-by: Martin Kustermann <kustermann@google.com> Change-Id: Ia231c521e5f2db168cfc6094dfc7322327dedc6d Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150925 Reviewed-by: Martin Kustermann <kustermann@google.com> Commit-Queue: Aske Simon Christensen <askesc@google.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
area-vm
Use area-vm for VM related issues, including code coverage, FFI, and the AOT and JIT backends.
type-performance
Issue relates to performance or code size
The new UTF-8 decoder, when the input is found to contain only ASCII bytes, simply calls
String.fromCharCodes
on the desired range of the inputUint8List
.String.fromCharCodes
performs a lot of type and range checks (which are redundant in this case) before it gets to the actual copying loop. Using a specialized conversion function without all the checks could significantly speed up the conversion of short strings.The text was updated successfully, but these errors were encountered: