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.
'Transfer-Encoding': 'chunked' });
// send body in chunks
var len = body.length;
- var step = ~~(len / n_chunks) || len;
+ var step = Math.floor(len / n_chunks) || 1;
- for (var i = 0; i < len; i += step) {
- res.write(body.slice(i, i + step));
+ for (var i = 0, n = (n_chunks - 1); i < n; ++i) {
+ res.write(body.slice(i * step, i * step + step));
}
-
- res.end();
+ res.end(body.slice((n_chunks - 1) * step));
} else {
var content_length = body.length.toString();
"Transfer-Encoding": "chunked" });
// send body in chunks
var len = body.length;
- var step = ~~(len / n_chunks) || len;
+ var step = Math.floor(len / n_chunks) || 1;
- for (var i = 0; i < len; i += step) {
- res.write(body.slice(i, i + step));
+ for (var i = 0, n = (n_chunks - 1); i < n; ++i) {
+ res.write(body.slice(i * step, i * step + step));
}
-
- res.end();
+ res.end(body.slice((n_chunks - 1) * step));
} else {
var content_length = body.length.toString();