e520f2480a
Instead of creating two small-ish utf8lists for every string we encode, do fewer bigger allocations and convert to utf8 via a (new) method that will hopefully eventually be moved into String. Golem says: ia32 AstToBinaryP90 (Intel Core i5) 3.995% (0.2 noise) AstToBinary (Intel Core i5) 3.992% (0.2 noise) AstToBinaryP50 (Intel Core i5) 4.015% (0.2 noise) AstToBinary (Intel Xeon) 3.793% (0.3 noise) AstToBinaryP90 (Intel Xeon) 3.748% (0.3 noise) AstToBinaryP50 (Intel Xeon) 3.769% (0.3 noise) x64 AstToBinaryP90 (Intel Core i5) 4.220% (0.1 noise) AstToBinaryP50 (Intel Xeon) 4.543% (0.3 noise) AstToBinary (Intel Xeon) 4.614% (0.3 noise) AstToBinaryP90 (Intel Xeon) 4.891% (0.3 noise) AstToBinaryP50 (Intel Core i5) 5.448% (0.5 noise) AstToBinary (Intel Core i5) 5.155% (0.5 noise) Change-Id: I0532778d69205a7a187342d3bdfe503c660b1004 Reviewed-on: https://dart-review.googlesource.com/c/84413 Commit-Queue: Jens Johansen <jensj@google.com> Reviewed-by: Peter von der Ahé <ahe@google.com>