Performance improvement for creating strings in loops, better memory management, less resources, vast time execution difference over concatenation in loops with large data
npm install another-string-builderNode String Builder
---
##Why use a string builder?
- A string builder greatly reduces execution time and system resources.
- Vastly improves memory management
- Can shave minutes off of large concatenation / HTML build loops
- More commonly seen in Java and C#, so why not Javascript?
- Don't take my word for it. Google 'Why use a string builder' to find out more
##When to use a string builder
When you are looping through large amounts of data or creating a number of elements over an iterative process; it is there that typically you'll find the most accepted use.
Using a string builder for everything would not make sense as concatenation will do just fine. But anywhere you're dynamically creating a large set of elements, its a very good idea.
Don't believe those who say it's negligible, run a test and see the performance improvements yourself.
- Selected article demonstrating resource improvement: https://www.codingame.com/playgrounds/3002/the-difference-between-string-and-stringbuilder-in-c/benchmarking-string-vs-stringbuilder
``
Basic syntax:
//pretend fetch from DB result:
var DBresult = {
state: 'Texas',
food: 'toast',
adj: 'good'
}
//string builder syntax
let sb = new StringBuilder("
for(i=0; i < 10000;i++){
sb.append("
document.getElementById('myList').insertAdjacentHTML('beforeend',sb.toString(' ',true)); //Lightning Flash!
`
` ", "
let ss = new StringBuilder("
sb.append("toast");
sb.append("is");
sb.append("good.");
sb.prepend("Texas");
---
{
console.log(sb.length); // 25
console.log(sb.toString(' ')); //"
Texas toast is good.
"Texas-toast-is-good.
"Texastoastisgood.
"// OR //
{
//clear and keep prefix
console.log(sb.toString('',true,true)); //"
Texastoastisgood.
"