net: Don't go through Stream API when ondata is used

This speeds up http_simple by around 6%.
This commit is contained in:
isaacs 2012-12-27 13:03:59 -08:00
parent f423287453
commit e11668b244

View File

@ -461,7 +461,10 @@ function onread(buffer, offset, length) {
// if it's not enough data, we'll just call handle.readStart()
// again right away.
self.bytesRead += length;
self._readableState.onread(null, buffer.slice(offset, end));
// Optimization: emit the original buffer with end points
if (self.ondata) self.ondata(buffer, offset, end);
else self._readableState.onread(null, buffer.slice(offset, end));
if (handle.reading && !self._readableState.reading) {
handle.reading = false;
@ -471,9 +474,6 @@ function onread(buffer, offset, length) {
self._destroy(errnoException(errno, 'read'));
}
// Optimization: emit the original buffer with end points
if (self.ondata) self.ondata(buffer, offset, end);
} else if (errno == 'EOF') {
debug('EOF');