joyent/node — pull request #5916 by isaacs (2013-07-27 00:24:00+00:00)
Title: http: Use streams directly, Remove Socket .ondata/.onend kludge

This is a rehash of GH-5335, ported forward onto streams3, where it is much easier to accomplish.

The first commit adds some gnarly performance regressions vs Master: https://gist.github.com/isaacs/6089411 (That's just the benchmarks where performance reduced by >10%. The rest were mostly around the ±5% range, ie, statistical noise.) I ran the test overnight with `NODE_BENCH_RUNS=20` and got similar results, though with less variance of course.

The results vs v0.10 were just... weird, to say the least, but that's probably due mostly to Buffer, V8, and libuv changes rather than anything in this commit: https://gist.github.com/isaacs/6089421

The second commit fixes the performance regressions, and brings the overall performance of all HTTP to within our standard margin of error: https://gist.github.com/isaacs/6093040