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: 04adf0e5a1e5
Choose a base ref
...
head repository: nodejs/node-v0.x-archive
compare: 5a19c07c087c
Choose a head ref
  • 2 commits
  • 3 files changed
  • 1 contributor

Commits on Dec 20, 2012

  1. bench: use res.end() for chunked encoding

    Use res.end() for the final chunk so we can benchmark the 'hot path' shortcut
    in lib/http.js that packs the headers and the body into a single packet.
    bnoordhuis committed Dec 20, 2012
    Copy the full SHA
    ba407ce View commit details
    Browse the repository at this point in the history
  2. http: pack response body buffer in first tcp packet

    Apply the same optimization to res.end(buf) that is applied to res.end(str).
    
    Speeds up `node benchmark/http_simple_auto -k -c 1 -n 25000 buffer/1`
    (non-chunked response body) by about 750x. That's not a typo.
    
    Chunked responses:
    
      $ cat tmp/http-chunked-client.js
      // Run `node benchmark/http_simple` in another terminal.
      var http = require('http'), url = require('url');
      var options = url.parse('http://127.0.0.1:8000/buffer/1/1');
      options.agent = new http.Agent({ maxSockets: 1 });
      for (var i = 0; i < 25000; ++i) http.get(options);
    
    Before:
    
      $ time out/Release/node tmp/http-chunked-client.js
      real    16m40.411s
      user    0m9.184s
      sys     0m0.604s
    
    After:
    
      $ time out/Release/node tmp/http-chunked-client.js
      real    0m5.386s
      user    0m2.768s
      sys     0m0.728s
    
    That's still a 185x speed-up.
    
    Fixes #4415.
    bnoordhuis committed Dec 20, 2012
    Copy the full SHA
    5a19c07 View commit details
    Browse the repository at this point in the history