Toggle navigation
MeasureThat.net
Create a benchmark
Tools
Feedback
FAQ
Register
Log In
.toString() concatenation vs array join with compiledFunc
(version: 0)
Comparing performance of:
String concat vs String join vs string join directly vs String concat directly
Created:
2 years ago
by:
Guest
Jump to the latest result
Script Preparation code:
var array = [{a:"asd",b:5,c:null,d:new Date()},{a:"bcd",b:6,c:void 0,d:new Date()},{a:"efg",b:8,c:-1,d:new Date()}] var compiledFuncConcat = new Function("data", "return String((data&&data.a))+String((data&&data.b))+String((data&&data.c))+String((data&&data.d));"); var compiledFuncJoin = new Function("data", "return [(data&&data.a),(data&&data.b),(data&&data.c),(data&&data.d)].join('');");
Tests:
String concat
var resultArr=[]; for(let i=0, ii = 10000; i<ii; i++){ resultArr.push(compiledFuncConcat(array[i%array.length])) }
String join
var resultArr=[]; for(let i=0, ii = 10000; i<ii; i++){ resultArr.push(compiledFuncJoin(array[i%array.length])); }
string join directly
var resultArr=[]; for(let i=0, ii = 10000; i<ii; i++){ let data = array[i%array.length]; resultArr.push([(data&&data.a),(data&&data.b),(data&&data.c),(data&&data.d)].join('')); }
String concat directly
var resultArr=[]; for(let i=0, ii = 10000; i<ii; i++){ let data = array[i%array.length]; resultArr.push(String((data&&data.a))+String((data&&data.b))+String((data&&data.c))+String((data&&data.d))); }
Rendered benchmark preparation results:
Suite status:
<idle, ready to run>
Run tests (4)
Previous results
Fork
Test case name
Result
String concat
String join
string join directly
String concat directly
Fastest:
N/A
Slowest:
N/A
Latest run results:
No previous run results
This benchmark does not have any results yet. Be the first one
to run it!
Related benchmarks:
arguments join vs string concatenate
String.prototype.concat vs Array.prototype.join
template literal vs array.join vs unallocated array.join vs string.concat vs the + operator
template literal vs allocated array.join vs unallocated array.join vs string.concat vs the + operator
object concat vs spread vs concat
Comments
Confirm delete:
Do you really want to delete benchmark?