Yes, this is on my list of things to think about. On Wed, Dec 2, 2015 at 3:23 PM, Andrew McCreight <amccrei...@mozilla.com> wrote:
> For what it is worth, Gecko uses a single-entry per-zone cache for > converting the result of JS strings to DOM strings in getAttribute (I > think). bz added this in bug 773520, and it has had a few refinements since > then. Maybe some kind of caching would help Servo, too. > > Andrew > > On Wed, Dec 2, 2015 at 1:05 PM, Alan Jeffrey <ajeff...@mozilla.com> wrote: > > > Well, I tried eliminating the buffering, but I still didn't get any perf > > benefit, if anything there was a degrade. Sigh. > > > > > > > https://github.com/asajeffrey/servo/commit/1533238eb8ffff22688572a04d5bd6eb8ac88297 > > > > On Wed, Dec 2, 2015 at 10:49 AM, Nick Fitzgerald < > nfitzger...@mozilla.com> > > wrote: > > > > > And there is also ArrayString[0] from the arrayvec crate[1]. I was > > > considering reusing this and getting rid of the fixed size > > `InlineString` I > > > rolled myself as ArrayString is almost identical. > > > > > > [0] > http://bluss.github.io/arrayvec/doc/arrayvec/struct.ArrayString.html > > > [1] https://crates.io/crates/arrayvec > > > > > > On Tue, Dec 1, 2015 at 6:03 PM, Simon Sapin <simon.sa...@exyr.org> > > wrote: > > > > > > > On 02/12/15 02:39, Nick Fitzgerald wrote: > > > > > > > >> I've created a crate[0] that provides a mostly drop-in replacement > of > > > >> std::string::String but with inline storage for small strings to > avoid > > > >> heap > > > >> allocation. > > > >> > > > >> [0]https://github.com/fitzgen/inlinable_string > > > >> > > > > > > > > There’s also [1], already in used in Servo in some places, which > > behaves > > > > like Vec<T> but stores items inline up to a certain length. I’ve also > > > been > > > > playing with [2] to be like String but with a generic backing > storage. > > > > (I’ve used it in [3] to return a single code point in UTF-8 as > > > > StringWrapper<[u8; 4]>.) > > > > > > > > Would it make sense to converge with some of these? > > > > > > > > [1] https://github.com/servo/rust-smallvec > > > > [2] > > > > > > > > > > https://github.com/SimonSapin/rust-std-candidates/blob/master/string-wrapper/lib.rs > > > > [3] https://github.com/SimonSapin/rust-utf8 > > > > > > > > > > > > -- > > > > Simon Sapin > > > > > > > > _______________________________________________ > > > > dev-servo mailing list > > > > dev-servo@lists.mozilla.org > > > > https://lists.mozilla.org/listinfo/dev-servo > > > > > > > _______________________________________________ > > > dev-servo mailing list > > > dev-servo@lists.mozilla.org > > > https://lists.mozilla.org/listinfo/dev-servo > > > > > _______________________________________________ > > dev-servo mailing list > > dev-servo@lists.mozilla.org > > https://lists.mozilla.org/listinfo/dev-servo > > > _______________________________________________ > dev-servo mailing list > dev-servo@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-servo > _______________________________________________ dev-servo mailing list dev-servo@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-servo