I proposed array buffer interop, not data vire interop. On Wed, Aug 22, 2018 at 17:17 Ali Rahbari <[email protected]> wrote:
> Logan mentioned TextDecoder which exactly do this but ArrayBuffer must > first get sliced and then passed to TextDecoder. > Still it's nice to have this inside DataView as Isiah proposal suggest. > > > On Thu, Aug 23, 2018 at 4:39 AM Isiah Meadows <[email protected]> > wrote: > >> DataView has nothing to do with this performance-wise - implementations >> could just use the raw array buffer instead, and it'd be quicker and easier. >> >> The issue is string representation - engines can optimize for it in ways >> you can't at the language level. >> >> On Wed, Aug 22, 2018 at 16:51 Ken Russell <[email protected]> wrote: >> >>> If DataView's methods were faster, would this eliminate the need for >>> this addition? >>> >>> In the V8 engine, some recent work significantly improved DataView's >>> performance. See http://crbug.com/225811 for details. >>> >>> -Ken >>> >>> >>> On Tue, Aug 21, 2018 at 7:02 PM Isiah Meadows <[email protected]> >>> wrote: >>> >>>> You might be interested in some of the things I have here: >>>> >>>> >>>> https://github.com/isiahmeadows/array-additions-proposal/blob/master/README.md >>>> >>>> I'm not quite to the point of pushing TC39 to consider, but after I get >>>> around to sorting it better, I'd love to see all of them eventually >>>> implemented. >>>> >>>> Note that for some common cases, like to ASCII or UTF-8 when no >>>> character in the string is above U+007F or to UCS-2/UTF-16 when at least >>>> one character is above that, it's a trivial `memcpy` for multi-character >>>> strings. >>>> On Tue, Aug 21, 2018 at 18:32 Ali Rahbari <[email protected]> wrote: >>>> >>>>> When working with binary data, reading string from buffer is a >>>>> necessity. For example when deserializing bson data in the browser. >>>>> >>>>> Most of node.js buffer methods are available in DataView except >>>>> toString. As a workaround currently it's done by reading the buffer byte >>>>> by >>>>> byte and convert each of them to corresponding character with >>>>> String.fromCharCode() and then joining the result. >>>>> >>>>> This can be done much faster in native code. >>>>> >>>>> DataView.prototype.toString(start = 0, end = this.length, encoding= >>>>> "utf8") >>>>> >>>>> DataView.prototype.writeString(string, offset = 0, length = >>>>> string.length, encoding = "utf8") >>>>> >>>>> -- >>>>> Ali Rahbari >>>>> _______________________________________________ >>>>> es-discuss mailing list >>>>> [email protected] >>>>> https://mail.mozilla.org/listinfo/es-discuss >>>>> >>>> _______________________________________________ >>>> es-discuss mailing list >>>> [email protected] >>>> https://mail.mozilla.org/listinfo/es-discuss >>>> >>> > > -- > Ali Rahbari >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

