<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/node.git/benchmark/http, branch master</title>
<subtitle>github.com: joyent/node.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/'/>
<entry>
<title>benchmark: update to use new wrk</title>
<updated>2014-02-25T19:28:46+00:00</updated>
<author>
<name>Timothy J Fontaine</name>
<email>tjfontaine@gmail.com</email>
</author>
<published>2014-02-25T19:05:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=bfc823de9057b8cc9c7efd97e6216e2de02aa818'/>
<id>bfc823de9057b8cc9c7efd97e6216e2de02aa818</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>benchmark: add http chunked encoding benchmarks</title>
<updated>2013-11-01T14:44:44+00:00</updated>
<author>
<name>Ben Noordhuis</name>
<email>info@bnoordhuis.nl</email>
</author>
<published>2013-11-01T14:44:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=df3537102b9ba335f05315e513e7cb0123321362'/>
<id>df3537102b9ba335f05315e513e7cb0123321362</id>
<content type='text'>
Test both "Content-Length: xxx" and "Transfer-Encoding: chunked" responses in
the http/simple benchmark.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Test both "Content-Length: xxx" and "Transfer-Encoding: chunked" responses in
the http/simple benchmark.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'ry/v0.10'</title>
<updated>2013-05-27T21:46:52+00:00</updated>
<author>
<name>isaacs</name>
<email>i@izs.me</email>
</author>
<published>2013-05-25T00:16:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=ba048e72b02e17f0c73e0dcb7d37e76a03327c5a'/>
<id>ba048e72b02e17f0c73e0dcb7d37e76a03327c5a</id>
<content type='text'>
Conflicts:
	AUTHORS
	ChangeLog
	configure
	deps/uv/ChangeLog
	deps/uv/src/unix/darwin.c
	deps/uv/src/unix/stream.c
	deps/uv/src/version.c
	deps/v8/src/isolate.cc
	deps/v8/src/version.cc
	lib/http.js
	src/node_version.h
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Conflicts:
	AUTHORS
	ChangeLog
	configure
	deps/uv/ChangeLog
	deps/uv/src/unix/darwin.c
	deps/uv/src/unix/stream.c
	deps/uv/src/version.c
	deps/v8/src/isolate.cc
	deps/v8/src/version.cc
	lib/http.js
	src/node_version.h
</pre>
</div>
</content>
</entry>
<entry>
<title>http: save roundtrips, convert buffers to strings</title>
<updated>2013-05-23T00:13:26+00:00</updated>
<author>
<name>Ben Noordhuis</name>
<email>info@bnoordhuis.nl</email>
</author>
<published>2013-05-22T19:43:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=fda2b319dc8a5dae528f8b12096911b71a0282db'/>
<id>fda2b319dc8a5dae528f8b12096911b71a0282db</id>
<content type='text'>
This commit adds an optimization to the HTTP client that makes it
possible to:

* Pack the headers and the first chunk of the request body into a
  single write().

* Pack the chunk header and the chunk itself into a single write().

Because only one write() system call is issued instead of several,
the chances of data ending up in a single TCP packet are phenomenally
higher: the benchmark with `type=buf size=32` jumps from 50 req/s to
7,500 req/s, a 150-fold increase.

This commit removes the check from e4b716ef that pushes binary encoded
strings into the slow path. The commit log mentions that:

    We were assuming that any string can be concatenated safely to
    CRLF.  However, for hex, base64, or binary encoded writes, this
    is not the case, and results in sending the incorrect response.

For hex and base64 strings that's certainly true but binary strings
are 'das Ding an sich': string.length is the same before and after
decoding.

Fixes #5528.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds an optimization to the HTTP client that makes it
possible to:

* Pack the headers and the first chunk of the request body into a
  single write().

* Pack the chunk header and the chunk itself into a single write().

Because only one write() system call is issued instead of several,
the chances of data ending up in a single TCP packet are phenomenally
higher: the benchmark with `type=buf size=32` jumps from 50 req/s to
7,500 req/s, a 150-fold increase.

This commit removes the check from e4b716ef that pushes binary encoded
strings into the slow path. The commit log mentions that:

    We were assuming that any string can be concatenated safely to
    CRLF.  However, for hex, base64, or binary encoded writes, this
    is not the case, and results in sending the incorrect response.

For hex and base64 strings that's certainly true but binary strings
are 'das Ding an sich': string.length is the same before and after
decoding.

Fixes #5528.
</pre>
</div>
</content>
</entry>
<entry>
<title>benchmark: add chunked-encoding benchmark</title>
<updated>2013-04-27T17:03:40+00:00</updated>
<author>
<name>Fedor Indutny</name>
<email>fedor.indutny@gmail.com</email>
</author>
<published>2013-04-08T22:04:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=f2d5cea73a53c59ce6314ecdf27bbf341e0465a2'/>
<id>f2d5cea73a53c59ce6314ecdf27bbf341e0465a2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>http: Don't hot-path end() for large buffers</title>
<updated>2013-03-14T15:04:59+00:00</updated>
<author>
<name>isaacs</name>
<email>i@izs.me</email>
</author>
<published>2013-03-14T14:48:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=d62cf59dc152f8df6954ee7ffe9381fc9b524e32'/>
<id>d62cf59dc152f8df6954ee7ffe9381fc9b524e32</id>
<content type='text'>
The benefits of the hot-path optimization below start to fall off when
the buffer size gets up near 128KB, because the cost of the copy is more
than the cost of the extra write() call.  Switch to the write/end method
at that point.

Heuristics and magic numbers are awful, but slow http responses are
worse.

Fix #4975
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The benefits of the hot-path optimization below start to fall off when
the buffer size gets up near 128KB, because the cost of the copy is more
than the cost of the extra write() call.  Switch to the write/end method
at that point.

Heuristics and magic numbers are awful, but slow http responses are
worse.

Fix #4975
</pre>
</div>
</content>
</entry>
<entry>
<title>bench: Make http easier to profile</title>
<updated>2013-02-26T01:47:28+00:00</updated>
<author>
<name>isaacs</name>
<email>i@izs.me</email>
</author>
<published>2013-02-25T16:30:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=88befa6021d136257939a2caba14e69ad9c43dd5'/>
<id>88befa6021d136257939a2caba14e69ad9c43dd5</id>
<content type='text'>
Do not run the http/simple.js server in a child process.

Fix #4831
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Do not run the http/simple.js server in a child process.

Fix #4831
</pre>
</div>
</content>
</entry>
<entry>
<title>bench: Consistency in benchmark filenames</title>
<updated>2013-02-20T01:16:55+00:00</updated>
<author>
<name>isaacs</name>
<email>i@izs.me</email>
</author>
<published>2013-02-19T22:59:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=2ed56e52354d871622e6b9ca5bf44fa7409b511b'/>
<id>2ed56e52354d871622e6b9ca5bf44fa7409b511b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bench: Use wrk for http benchmarking</title>
<updated>2013-02-20T01:16:29+00:00</updated>
<author>
<name>isaacs</name>
<email>i@izs.me</email>
</author>
<published>2013-02-13T20:20:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=ef08f0fbb19ba1e45721b759f37efd6574c400a3'/>
<id>ef08f0fbb19ba1e45721b759f37efd6574c400a3</id>
<content type='text'>
Remove ab, since it's no longer used.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove ab, since it's no longer used.
</pre>
</div>
</content>
</entry>
<entry>
<title>bench: http benchmarks</title>
<updated>2013-02-19T22:14:31+00:00</updated>
<author>
<name>isaacs</name>
<email>i@izs.me</email>
</author>
<published>2013-02-12T07:43:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/node.git/commit/?id=536ce446898f3b788d7f0134de8397db55161b07'/>
<id>536ce446898f3b788d7f0134de8397db55161b07</id>
<content type='text'>
Also: make http_simple less chatty
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also: make http_simple less chatty
</pre>
</div>
</content>
</entry>
</feed>
