Skip to content

Instantly share code, notes, and snippets.

@adamvr
Last active December 14, 2015 13:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adamvr/5091376 to your computer and use it in GitHub Desktop.
Save adamvr/5091376 to your computer and use it in GitHub Desktop.
Buffer concat vs array concat vs buffer write performance
var array = [];
for (var i = 0; i < 10000; i += 1) {
array = array.concat(['test']);
}
var buffer = new Buffer(array);
var bufs = [];
for (var i = 0; i < 10000; i += 1) {
bufs.push(new Buffer('test'));
}
var buffer = Buffer.concat(bufs);
var string = 'test';
var iterations = 10000;
var size = string.length * iterations;
var buffer = new Buffer(size);
var pos = 0;
for (var i = 0; i < iterations; i += 1) {
buffer.write(string);
pos += string.length;
}
0.38user 0.05system 0:00.45elapsed 97%CPU (0avgtext+0avgdata 14344maxresident)k
8inputs+0outputs (1major+3838minor)pagefaults 0swaps
0.36user 0.04system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14340maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.37user 0.04system 0:00.40elapsed 102%CPU (0avgtext+0avgdata 14340maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.36user 0.04system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.36user 0.04system 0:00.38elapsed 106%CPU (0avgtext+0avgdata 14340maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.37user 0.03system 0:00.38elapsed 106%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.35user 0.05system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.37user 0.03system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14340maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.35user 0.05system 0:00.38elapsed 104%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.36user 0.04system 0:00.38elapsed 106%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.30user 0.02system 0:00.33elapsed 100%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.24user 0.02system 0:00.27elapsed 100%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.24user 0.03system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8412maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.28user 0.01system 0:00.29elapsed 100%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.26user 0.01system 0:00.27elapsed 102%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.26user 0.01system 0:00.27elapsed 100%CPU (0avgtext+0avgdata 8412maxresident)k
0inputs+0outputs (0major+2437minor)pagefaults 0swaps
0.26user 0.01system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.24user 0.02system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8420maxresident)k
0inputs+0outputs (0major+2437minor)pagefaults 0swaps
0.25user 0.02system 0:00.27elapsed 102%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.25user 0.02system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.41user 0.04system 0:00.43elapsed 104%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3840minor)pagefaults 0swaps
0.36user 0.04system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.35user 0.05system 0:00.40elapsed 102%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.37user 0.03system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.37user 0.03system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14348maxresident)k
0inputs+0outputs (0major+3840minor)pagefaults 0swaps
0.34user 0.06system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14340maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.36user 0.04system 0:00.38elapsed 106%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.37user 0.02system 0:00.38elapsed 105%CPU (0avgtext+0avgdata 14340maxresident)k
0inputs+0outputs (0major+3840minor)pagefaults 0swaps
0.37user 0.03system 0:00.39elapsed 104%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3840minor)pagefaults 0swaps
0.37user 0.02system 0:00.38elapsed 104%CPU (0avgtext+0avgdata 14344maxresident)k
0inputs+0outputs (0major+3839minor)pagefaults 0swaps
0.31user 0.02system 0:00.33elapsed 99%CPU (0avgtext+0avgdata 8412maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.26user 0.01system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.25user 0.02system 0:00.27elapsed 102%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.26user 0.03system 0:00.29elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.25user 0.02system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2437minor)pagefaults 0swaps
0.24user 0.02system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2437minor)pagefaults 0swaps
0.27user 0.01system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.24user 0.03system 0:00.28elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2438minor)pagefaults 0swaps
0.25user 0.02system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8412maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.26user 0.01system 0:00.27elapsed 101%CPU (0avgtext+0avgdata 8416maxresident)k
0inputs+0outputs (0major+2436minor)pagefaults 0swaps
0.19user 0.01system 0:00.24elapsed 88%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2146minor)pagefaults 0swaps
0.17user 0.00system 0:00.18elapsed 102%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2146minor)pagefaults 0swaps
0.16user 0.02system 0:00.18elapsed 100%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2147minor)pagefaults 0swaps
0.17user 0.00system 0:00.18elapsed 100%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2146minor)pagefaults 0swaps
0.15user 0.02system 0:00.17elapsed 100%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2146minor)pagefaults 0swaps
0.18user 0.02system 0:00.20elapsed 100%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2147minor)pagefaults 0swaps
0.16user 0.01system 0:00.18elapsed 101%CPU (0avgtext+0avgdata 7228maxresident)k
0inputs+0outputs (0major+2146minor)pagefaults 0swaps
0.17user 0.01system 0:00.18elapsed 101%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2146minor)pagefaults 0swaps
0.16user 0.02system 0:00.18elapsed 102%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2147minor)pagefaults 0swaps
0.16user 0.02system 0:00.18elapsed 101%CPU (0avgtext+0avgdata 7232maxresident)k
0inputs+0outputs (0major+2146minor)pagefaults 0swaps
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment