From: isaacs Date: Thu, 27 Dec 2012 21:03:59 +0000 (-0800) Subject: net: Don't go through Stream API when ondata is used X-Git-Tag: v0.9.5~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e11668b244ee62d9997d4871f368075b8abf8d45;p=platform%2Fupstream%2Fnodejs.git net: Don't go through Stream API when ondata is used This speeds up http_simple by around 6%. --- diff --git a/lib/net.js b/lib/net.js index 4a5fbe5..fc56918 100644 --- a/lib/net.js +++ b/lib/net.js @@ -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');