summaryrefslogtreecommitdiff
path: root/benchmark
diff options
context:
space:
mode:
authorFedor Indutny <fedor.indutny@gmail.com>2014-01-29 02:48:10 +0400
committerFedor Indutny <fedor.indutny@gmail.com>2014-01-29 02:49:03 +0400
commit9836a4eeda1e2d43aad0923f1f72b364792629bc (patch)
treef9a43115eaca3a49f83c910d20ea363bef3b2b29 /benchmark
parenteaf76648a6ba05932465fdb2478a16ca4b6c17a6 (diff)
downloadandroid-node-v8-9836a4eeda1e2d43aad0923f1f72b364792629bc.tar.gz
android-node-v8-9836a4eeda1e2d43aad0923f1f72b364792629bc.tar.bz2
android-node-v8-9836a4eeda1e2d43aad0923f1f72b364792629bc.zip
stream_wrap: use `uv_try_write` where possible
Use `uv_try_write` for string and buffer writes, thus avoiding to do allocations and copying in some of the cases.
Diffstat (limited to 'benchmark')
-rw-r--r--benchmark/net/tcp-raw-pipe.js2
-rw-r--r--benchmark/net/tcp-raw-s2c.js9
2 files changed, 8 insertions, 3 deletions
diff --git a/benchmark/net/tcp-raw-pipe.js b/benchmark/net/tcp-raw-pipe.js
index 91c69e9b6c..bda683985d 100644
--- a/benchmark/net/tcp-raw-pipe.js
+++ b/benchmark/net/tcp-raw-pipe.js
@@ -51,7 +51,7 @@ function server() {
if (nread < 0)
fail(nread, 'read');
- var writeReq = {};
+ var writeReq = { async: false };
err = clientHandle.writeBuffer(writeReq, buffer);
if (err)
diff --git a/benchmark/net/tcp-raw-s2c.js b/benchmark/net/tcp-raw-s2c.js
index 6fb6568527..500be1b72b 100644
--- a/benchmark/net/tcp-raw-s2c.js
+++ b/benchmark/net/tcp-raw-s2c.js
@@ -68,7 +68,7 @@ function server() {
write();
function write() {
- var writeReq = { oncomplete: afterWrite };
+ var writeReq = { async: false, oncomplete: afterWrite };
var err;
switch (type) {
case 'buf':
@@ -82,8 +82,13 @@ function server() {
break;
}
- if (err)
+ if (err) {
fail(err, 'write');
+ } else if (!writeReq.async) {
+ process.nextTick(function() {
+ afterWrite(null, clientHandle, writeReq);
+ });
+ }
}
function afterWrite(err, handle, req) {