• jbroman's avatar
    ValueSerializer: Support efficiently reading and writing one-byte strings. · bf511b42
    jbroman authored
    memcpy is faster than UTF-8 encoding/decoding. This yields 10-20% wins on
    serializing and deserializing long ASCII strings, according to
    blink_perf.bindings -- and these are already in a fast path where the entire
    string is known to be ASCII (but this has to be checked). The win may be
    larger for strings in Latin-1 but not ASCII (though I suspect this is an
    uncommon case).
    
    A change is also made to make ValueSerializerTest.EncodeTwoByteStringUsesPadding
    survive wire format version number changes.
    
    This is the first of a series of wire format changes from the previous Blink
    format. The deserializer continues to be able to read the old format, but
    Chromium M56 will no longer be able to read the messages written by this, in M58.
    
    BUG=chromium:686159
    
    Review-Url: https://codereview.chromium.org/2658793004
    Cr-Commit-Position: refs/heads/master@{#42753}
    bf511b42
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
docs Loading commit data...
gni Loading commit data...
gypfiles Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...