var name = "name lkjasdl;fj la;sflk;asdjf l;kj l;aksdjfla;kjs lka;sdjf la;ksdjf l;aksdjfl ;askd l;aksjf als;kdjf la;skdjfl;aksdjfl;aksdfl;aksdjf l; l;aksdjf ;laskdjf l;aksdjf l;askdjfl;askdjf;laskdj fl;aksdjf las;kd fal;sdf al;skdfjla;ksdjfl;aksdjf la;skdjfla;ksdjfla;skdjfla;skdfjals;kdjfa;lskdfjals;kdfjal;skdfjals;kdfjal;skdfjal;skj a asd;lfkjasl;kd fl; kasdf l;askdj l;askdj ;ladskfja;lsdkfj al;sdkfj ;l asld;kfj as;ldkfja l;sdkfj al;skdfj as;ldkfj asl;dkf. l;asdkfj al;skdfj a;lkasdfj ;laksdfj a;sldkfj a;slasdflkj asl;dkfj asdl; asl;dkfj asl;dkfjasl;dkfj a;lsdfjla;skdfj al;sdkjf lk;sadf asl;kdfja s;ldkfj asl;dkfj als;kdfj als;kdfj a;lskdfj al;skdfj als;kdfj a;lskdfj as;lkdf. asldf asl;kdf als;dkf asld;kfjasl;dkfj asl;kdfaslkd fa;lskd aslk;dfj asl;dkfj als;dfkjasl;dkfj asl;kdfj als;kdfj asl;kdfj asl;kdf aslk;d fljasdfkjasldk;fja s;lkdfj al;skdfjal;ksdfj lak;sdf a;lskdfj l;askdfj l;askdfj a;lskdj alskdfja l;skdfj als;kdfj asd;lkfjasdl;kfasdjf al;skdfj a;lskdfj a;lskdfj als;kdfj al; as ldkfjas l;dkfj asl;dfajsl;kdfj asl;kdfj al;skdfj al;skdfj al;skdfj al;skdfj als;kdfj als;kdfj slkda asl;kdfj l;askdfj al;skdf alsk;df alsk;dfj as;lkdfj l;askdfj laskdf";
var id = "id name lkjasdl;fj la;sflk;asdjf l;kj l;aksdjfla;kjs lka;sdjf la;ksdjf l;aksdjfl ;askd l;aksjf als;kdjf la;skdjfl;aksdjfl;aksdfl;aksdjf l; l;aksdjf ;laskdjf l;aksdjf l;askdjfl;askdjf;laskdj fl;aksdjf las;kd fal;sdf al;skdfjla;ksdjfl;aksdjf la;skdjfla;ksdjfla;skdjfla;skdfjals;kdjfa;lskdfjals;kdfjal;skdfjals;kdfjal;skdfjal;skj a asd;lfkjasl;kd fl; kasdf l;askdj l;askdj ;ladskfja;lsdkfj al;sdkfj ;l asld;kfj as;ldkfja l;sdkfj al;skdfj as;ldkfj asl;dkf. l;asdkfj al;skdfj a;lkasdfj ;laksdfj a;sldkfj a;slasdflkj asl;dkfj asdl; asl;dkfj asl;dkfjasl;dkfj a;lsdfjla;skdfj al;sdkjf lk;sadf asl;kdfja s;ldkfj asl;dkfj als;kdfj als;kdfj a;lskdfj al;skdfj als;kdfj a;lskdfj as;lkdf. asldf asl;kdf als;dkf asld;kfjasl;dkfj asl;kdfaslkd fa;lskd aslk;dfj asl;dkfj als;dfkjasl;dkfj asl;kdfj als;kdfj asl;kdfj asl;kdf aslk;d fljasdfkjasldk;fja s;lkdfj al;skdfjal;ksdfj lak;sdf a;lskdfj l;askdfj l;askdfj a;lskdj alskdfja l;skdfj als;kdfj asd;lkfjasdl;kfasdjf al;skdfj a;lskdfj a;lskdfj als;kdfj al; as ldkfjas l;dkfj asl;dfajsl;kdfj asl;kdfj al;skdfj al;skdfj al;skdfj al;skdfj als;kdfj als;kdfj slkda asl;kdfj l;askdfj al;skdf alsk;df alsk;dfj as;lkdfj l;askdfj laskdf";
for (let i = 0; i < 80000; ++i) {
let result = id + ": 1, " + name + ": someItem";
}
for (let i = 0; i < 80000; ++i) {
let result = "".concat(id, ": 1, ", name, ": someItem");
}
for (let i = 0; i < 80000; ++i) {
let result = `${id}: 1, ${name}: someItem`;
}
--enable-precise-memory-info
flag.
Test case name | Result |
---|---|
using plus operator | |
using concat function | |
using template literals |
Test name | Executions per second |
---|---|
using plus operator | 105.3 Ops/sec |
using concat function | 83.2 Ops/sec |
using template literals | 96.7 Ops/sec |
Let's dive into the benchmark and explain what's being tested.
Benchmark Overview
The benchmark is comparing three different ways to concatenate strings in JavaScript:
+
operatorconcat()
functionThe benchmark consists of a single variable, id
, which is set to "someId"
(not shown in the provided code), and another variable, name
, which is also not shown. The benchmark creates a string by concatenating these two variables with some text.
Test Cases
There are three test cases:
+
operator: This test case uses the +
operator to concatenate the strings.concat()
function: This test case uses the concat()
function to concatenate the strings.${}
) to concatenate the strings.Benchmark Results
The benchmark results show the performance of each method for 80000 iterations:
+
operator: The browser executed approximately 204 executions per second (with a slight variation).concat()
function: The browser executed approximately 201 executions per second.Observations
Based on these results, it appears that:
+
operator is slightly faster than using the concat()
function and template literals.These results may vary depending on the specific use case, JavaScript engine, and hardware platform.
Keep in mind that this benchmark only measures the performance of these three string concatenation methods and does not account for potential factors like memory allocation, garbage collection, or CPU overhead.