The data contained in this repository can be downloaded to your computer using one of several clients.
Please see the documentation of your version control software client for more information.

Please select the desired protocol below to get the URL.

This URL has Read-Only access.

Statistics
| Branch: | Revision:

main_repo / benchmark @ master

# Date Author Comment
8ae32a98 06/04/2014 05:37 PM Ben Noordhuis

bench: fix buffers/buffer-base64-encode benchmark

The test is supposed to measure the performance of the base64 encoder
so move the Buffer#write() calls out of the benchmark section.

The overhead of the calls isn't terrible (about 1-3%) but having
unrelated activity in a micro-benchmark is never a good idea....

32910354 05/28/2014 02:58 PM Raymond Feng

doc: Add a README for benchmark tests

The README.md documents how to run node core benchmark tests and
how to write new tests.

4c672c8a 05/28/2014 02:57 PM Raymond Feng

benchmark: Add a test to measure Buffer.slice perf

Buffer.slice can be expensive. One regression was reported by https://github.com/joyent/node/issues/7633. The method should be benchmarked.

226f98a3 04/29/2014 01:09 AM Sean McArthur

buffer: add compare and equals methods

compare() works like String.localeCompare such that:

Buffer.compare(a, b) === a.compare(b);

equals() does a native check to see if two buffers are equal.

Signed-off-by: Trevor Norris <>

d4fcb23e 04/01/2014 08:31 PM Nick Apperson

buffer: improve {read,write}{U}Int* methods

Increase the performance and simplify the logic of Buffer#write{U}Int*
and Buffer#read{U}Int* methods by placing the byte manipulation code
directly inline.

Also improve the speed of buffer-write benchmarks by creating a new...

bfc823de 02/25/2014 02:28 PM Timothy J Fontaine

benchmark: update to use new wrk

9836a4ee 01/28/2014 05:49 PM Fedor Indutny

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.

f5ab3e4c 12/06/2013 05:32 PM Fedor Indutny

benchmark: fixate `ciphers` in tls benchmarks

Benchmark should always use the same cipher in order to be truthful.

60958d23 11/06/2013 07:32 AM Jackson Tian

benchmark: Correct the bufferSize to highWaterMark

The bufferSize has been removed. Use highWaterMark instead of.
df353710 11/01/2013 10:44 AM Ben Noordhuis

benchmark: add http chunked encoding benchmarks

Test both "Content-Length: xxx" and "Transfer-Encoding: chunked" responses in
the http/simple benchmark.

2be09f94 08/31/2013 08:58 PM isaacs

Merge remote-tracking branch 'ry/v0.10'

00a1d363 08/31/2013 08:58 PM isaacs

benchmark: Fix execArgv handling

Bug in 01f3b46 causes the same benchmark to be run repeatedly.

Not so useful for the compare scripts.

cece1000 08/31/2013 02:29 PM isaacs

Merge remote-tracking branch 'ry/v0.10'

01f3b468 08/31/2013 01:36 PM isaacs

benchmark: Support passing v8 flags to benchmarks

The better to test --use-strict effects on performance.

(Spoiler: it has no measurable effect on performance.)

c171c490 08/19/2013 07:42 PM Matthew Aynalem

fixes #6031 spelling errors

explictly => explicitly
accesss => access
througput => throughput
epxression => expression
communiction => communication
becuase => because
repersent => represent
condonitions => conditions
decompresion => decompression
intentially => intentionally...

9a29aa8c 08/01/2013 06:02 PM Trevor Norris

benchmark: update misc to new v8 API

d75f67f9 07/20/2013 06:13 AM Ben Noordhuis

bench: fix up benchmarks after internal api change

22668db7 07/08/2013 07:53 PM Trevor Norris

benchmark: update callbacks only receive data

Since the SlabAllocator was removed the buffer length/offset is no
longer sent to the onread callback. The benchmarks have been updated to
reflect that.

ba048e72 05/27/2013 05:46 PM isaacs

Merge remote-tracking branch 'ry/v0.10'

Conflicts:
AUTHORS
ChangeLog
configure
deps/uv/ChangeLog
deps/uv/src/unix/darwin.c
deps/uv/src/unix/stream.c
deps/uv/src/version.c
deps/v8/src/isolate.cc
deps/v8/src/version.cc
lib/http.js
src/node_version.h

fda2b319 05/22/2013 08:13 PM Ben Noordhuis

http: save roundtrips, convert buffers to strings

This commit adds an optimization to the HTTP client that makes it
possible to:

  • Pack the headers and the first chunk of the request body into a
    single write().
  • Pack the chunk header and the chunk itself into a single write()....
61c9f78c 05/17/2013 05:04 PM isaacs

Merge remote-tracking branch 'ry/v0.10' into master

Conflicts:
AUTHORS
ChangeLog
deps/uv/ChangeLog
deps/uv/config-unix.mk
deps/uv/src/unix/stream.c
deps/uv/src/version.c
deps/uv/uv.gyp
src/node.cc
src/node_buffer.cc
src/node_crypto.cc
src/node_version.h...

201baa27 05/14/2013 02:36 PM isaacs

benchmark: hash stream

f2d5cea7 04/27/2013 01:03 PM Fedor Indutny

benchmark: add chunked-encoding benchmark

05bd6b7b 03/25/2013 08:16 AM Ben Noordhuis

bench: add child process read perf benchmark

31314b69 03/20/2013 03:25 PM Trevor Norris

bench: compare binaries equal times

The benchmark compare would drop the last run of the binary pairs. So
when they were only run once an error would arise because no data was
generated for the second binary.

3dac4213 03/20/2013 12:16 PM Ben Noordhuis

bench: add dgram send/recv benchmark

d62cf59d 03/14/2013 11:04 AM isaacs

http: Don't hot-path end() for large buffers

The benefits of the hot-path optimization below start to fall off when
the buffer size gets up near 128KB, because the cost of the copy is more
than the cost of the extra write() call. Switch to the write/end method...

e7b8bad3 03/07/2013 02:56 PM isaacs

bench: Do math on numbers in compare.js, not strings

db5d58e8 03/06/2013 03:33 PM isaacs

bench: Use environ to run compares more than once

This will run the benchmarks the number of times specified by NODE_BENCH_RUNS,
to attempt to reduce variability.

If the number of runs is high enough, it'll also throw out the top and bottom
quartiles, since that's where the outliers will be....

e4383c01 03/05/2013 05:23 PM isaacs

bench: Add flag to be silent in runner

This is helpful in tracking down bailouts and deopts in Stream classes,
without triggering one from the string write in console.log

88befa60 02/25/2013 08:47 PM isaacs

bench: Make http easier to profile

Do not run the http/simple.js server in a child process.

Fix #4831

053e02ef 02/20/2013 12:17 PM isaacs

benchmark: Fix alignment issues on --html compare output

bd4d585b 02/19/2013 08:16 PM isaacs

bench: Add bench-crypto

4b80f217 02/19/2013 08:16 PM isaacs

bench: Simplify duration arguments to benchmarks

For throughput benchmarks, run with just 5s durations rather than 1s and 3s.

For startup benchmark, run with just a single 1s duration, since it's very
consistent anyway.

2ed56e52 02/19/2013 08:16 PM isaacs

bench: Consistency in benchmark filenames

06fbcca6 02/19/2013 08:16 PM isaacs

bench: Remove _bench_timer (no loner used)

ef08f0fb 02/19/2013 08:16 PM isaacs

bench: Use wrk for http benchmarking

Remove ab, since it's no longer used.

035aa6b4 02/19/2013 05:14 PM isaacs

bench: Show % change rather than % difference

087c4379 02/19/2013 05:14 PM isaacs

bench: Add --html to compare script

7658f4c2 02/19/2013 05:14 PM isaacs

bench: Fail gracefully if function_call binding fails

7d517458 02/19/2013 05:14 PM isaacs

bench: Remove old run script

0a406869 02/19/2013 05:14 PM isaacs

bench: Replace tls-fragmentation with tls/throughput

bafc51c0 02/19/2013 05:14 PM isaacs

bench: Move tls-connect into benchmark/tls

Also, make it work properly with current node.

8c719f7c 02/19/2013 05:14 PM isaacs

bench: Make io.c output easier to read

8a3f5217 02/19/2013 05:14 PM isaacs

bench: Remove io.js

Better covered by the other benchmark/fs scripts.

2a64edb0 02/19/2013 05:14 PM isaacs

bench: Add fs write stream throughput

1fc6f993 02/19/2013 05:14 PM isaacs

bench: Add read-stream throughput

6d116be7 02/19/2013 05:14 PM isaacs

bench: Move fs-readfile.js to fs/readfile.js

844b3320 02/19/2013 05:14 PM isaacs

bench: Move v8_bench into misc

2a2942bd 02/19/2013 05:14 PM isaacs

bench: Move string_creation into misc

fef35fc4 02/19/2013 05:14 PM isaacs

bench: Remove settimeout (Covered by misc/timeout.js)

3761be3d 02/19/2013 05:14 PM isaacs

bench: Move timers to misc/timers

7e5cd080 02/19/2013 05:14 PM isaacs

bench: move next-tick to misc/next-tick-breadth

f7a4ccb4 02/19/2013 05:14 PM isaacs

bench: Move nexttick-2 to misc/next-tick-depth

x

44be55fc 02/19/2013 05:14 PM isaacs

bench: Move process_loop to misc/spawn-echo

4e1bcdca 02/19/2013 05:14 PM isaacs

bench: Add function_call to bench-misc

e87ed91f 02/19/2013 05:14 PM isaacs

bench: Arrays

3f67a48d 02/19/2013 05:14 PM isaacs

bench: Add buffers/dataview_set

56b22956 02/19/2013 05:14 PM isaacs

bench: Remove unused 'fast_buffer2' benchmarks

048f7fd3 02/19/2013 05:14 PM isaacs

bench: Merge fast_buffer_creation and buffer_creation

55aa2571 02/19/2013 05:14 PM isaacs

bench: Buffer read/write benchmarks

419607e8 02/19/2013 05:14 PM isaacs

bench: Buffer creation

cc38528a 02/19/2013 05:14 PM isaacs

bench: buffer-base64-encode

921c3c20 02/19/2013 05:14 PM isaacs

bench: misc/startup.js

3b16657e 02/19/2013 05:14 PM isaacs

bench: misc/url

536ce446 02/19/2013 05:14 PM isaacs

bench: http benchmarks

Also: make http_simple less chatty

d5d04a51 02/19/2013 05:14 PM isaacs

bench: Remove client_latency

No one actually knows what this is supposed to be doing,
anyway. It's not a good benchmark.

051c1317 02/19/2013 05:14 PM isaacs

bench: Remove throughput (covered by benchmark/net)

e82f9740 02/19/2013 05:14 PM isaacs

bench: net benchmarks using common script

baea73cc 02/19/2013 05:14 PM isaacs

bench: Move net-pipe into benchmark/net

aa2edd4b 02/19/2013 05:14 PM isaacs

bench: A compare script for analyzing benchmarks

37077de8 02/19/2013 05:14 PM isaacs

bench: add runner

dd069a25 02/19/2013 05:14 PM isaacs

bench: Add ab() method to common for http testing

00e19624 02/19/2013 05:14 PM isaacs

bench: Add common script

8476aefc 02/15/2013 09:48 PM isaacs

fs: Change default WriteStream config, increase perf

This increases fs.WriteStream throughput dramatically by removing the
"higher default water marks" for fs.WriteStream.

Also includes a benchmark. Current performance is significantly higher
than v0.8 for strings at all tested levels except size=1. Buffer...

19d29aa0 02/12/2013 01:38 PM Ben Noordhuis

bench: make io.c file path configurable

ae6f4b32 01/17/2013 05:54 PM isaacs

benchmark: Add resume() in static_http_server

22b84e62 01/16/2013 01:17 PM Trevor Norris

buffer: floating point read/write improvements

Improvements:
  • floating point operations are approx 4x's faster
  • Now write quiet NaN's
  • all read/write on floating point now done in C, so no more need for
    lib/buffer_ieee754.js
  • float values have more accurate min/max value checks...
7550e31d 12/29/2012 06:32 PM isaacs

benchmark: Make flamegraphs a bit more useful

ecdde7df 12/29/2012 06:32 PM isaacs

benchmark: Set port range properly on Linux

a3297295 12/28/2012 07:20 AM Ben Noordhuis

buffer: speed up base64 encoding by 20%

Remove a lot of branches from the inner loop. Speeds up buf.toString('base64')
by about 20%.

Before:

$ time out/Release/node benchmark/buffer-base64-encode.js
real 0m6.607s
user 0m5.508s
sys 0m1.088s...
ec745555 12/20/2012 07:07 PM isaacs

benchmark: Set ephemeral ports properly on sunos

825af451 12/20/2012 07:07 PM isaacs

benchmark: Make http.sh more useful

79ec9dc1 12/20/2012 07:07 PM isaacs

benchmark: Support names in http-flamegraph

836593da 12/20/2012 07:07 PM isaacs

benchmark: Improve http-flamegraph

d1556fbd 12/20/2012 08:48 AM Ben Noordhuis

bench: report stats in benchmark/net-pipe

79ae8b7a 12/20/2012 06:39 AM Ben Noordhuis

Merge remote-tracking branch 'origin/v0.8'

ba407ce4 12/20/2012 05:44 AM Ben Noordhuis

bench: use res.end() for chunked encoding

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.

43538f4f 12/18/2012 02:56 PM isaacs

benchmark: Add http-flamegraph

This is very similar to http.sh, but generates a flamegraph
with dtrace, pruning off the single-hit stacks so that we can
more easily see the places where relevant amounts of time are
spent.

7742257f 12/14/2012 01:52 PM isaacs

benchmark: Add once() function to net-pipe benchmark fixture

3149d2f7 11/30/2012 09:26 PM isaacs

benchmark: Add net-pipe benchmark

Just sends a buffer to a server, which echoes it back, and then measures
the Gbits/second. Very similar to throughput.js, but using a single
process, so that it's possible to dtrace and get the jsstack frames for
profile comparison.

e2bcff9a 11/11/2012 01:02 PM isaacs

bench: Use hrtime in throughput benchmark

2c97da82 09/13/2012 08:02 AM Ben Noordhuis

bench: correct time calculation in url.js

10ba95c1 09/12/2012 07:21 PM Ben Noordhuis

bench: improve url parser benchmark

f5c68b28 09/12/2012 07:21 PM Felix Böhm

bench: add url parser benchmark

8eccc417 08/13/2012 12:52 PM jbergstroem

bench: fetch port from env

http_simple.js honors $PORT, http_simple_bench.sh should too.

23dc0992 07/13/2012 07:43 PM Bert Belder

benchmark: add single process tls connection benchmark

d2e40f66 07/11/2012 09:30 PM Bert Belder

Merge branch 'v0.6' into v0.8

8a946c2e 06/23/2012 01:03 PM isaacs

benchmark: Backport improvements made in master

Ported to v0.6 for easier comparison in the 0.8.0 blog post.

6e5217d3 06/21/2012 02:52 PM Bert Belder

Fix bug in io benchmark