Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport 7157 to v6.x (buffer: speed up swap16/32, add swap64) #7546

Closed
wants to merge 1 commit into from

Commits on Jul 5, 2016

  1. buffer: speed up swap16/32, add swap64

    * Speed up buffer.swap16 and swap32 by using builtins. Up to ~6x gain.
      Drop transition point between JS and C++ implementations accordingly.
      Amount of performance improvement not only depends on buffer size but
      also memory alignment.
    * Fix tests: C++ impl tests were testing 0-filled buffers so were
      always passing.
    * Add similar buffer.swap64 method.
    * Make buffer-swap benchmark mirror JS impl.
    
    doc/api/buffer.markdown has an entry of "added: REPLACEME" that should
    be changed to the correct release number before tagged.
    
    Because node is currently using a very old version of cpplint.py it
    doesn't know that std::swap() has moved from <algorithm> to <utility> in
    c++11. So until cpplint.py is updated simply NOLINT the line.
    Technically it should be NOLINT(build/include_what_you_use), but that
    puts the line over 80 characters causing another lint error.
    
    PR-URL: nodejs#7157
    Reviewed-By: Trevor Norris <[email protected]>
    Reviewed-By: James M Snell <[email protected]>
    zbjornson authored and addaleax committed Jul 5, 2016
    Configuration menu
    Copy the full SHA
    f6af782 View commit details
    Browse the repository at this point in the history