Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: nodejs/node-v0.x-archive
base: 3b0a759b6baa
Choose a base ref
...
head repository: nodejs/node-v0.x-archive
compare: e92f4879eb6c
Choose a head ref
  • 4 commits
  • 2 files changed
  • 1 contributor

Commits on Jun 11, 2013

  1. Copy the full SHA
    45a08cb View commit details
    Browse the repository at this point in the history
  2. string_bytes: implement new v8 API

    v8 has a new API to write out strings to memory. This has been
    implemented.
    
    One other change of note is BINARY encoded strings have a new
    implementation. This has improved performance substantially.
    trevnorris committed Jun 11, 2013
    Copy the full SHA
    87624ab View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2013

  1. string_bytes: use external for large strings

    When large strings are used they cause v8's GC to spend a lot more time
    cleaning up. In these cases it's much faster to use external string
    resources.
    
    UTF8 strings do not use external string resources because only one and
    two byte external strings are supported.
    
    EXTERN_APEX is the value at which v8's GC overtakes performance.
    
    The following table has the type and buffer size that use to encode the
    strings as rough estimates of the percentage of performance gain from
    this patch (UTF8 is missing because they cannot be externalized).
    
    encoding  128KB    1MB    5MB
    -----------------------------
    ASCII       58%   208%   250%
    HEX         15%    74%    86%
    BASE64      11%    74%    71%
    UCS2         2%   225%   398%
    BINARY    2234%  1728%  2305%
    
    BINARY is so much faster across the board because of using the new v8
    WriteOneByte API.
    trevnorris committed Jun 12, 2013
    Copy the full SHA
    642ea2b View commit details
    Browse the repository at this point in the history
  2. string_bytes: write strings using new API

    StringBytes::Write now uses new v8 API and also does preliminary check
    if the string is external, then will use external memory instead.
    trevnorris committed Jun 12, 2013
    Copy the full SHA
    e92f487 View commit details
    Browse the repository at this point in the history