//.....-
console.log(typeof str); // string
console.log(str.length); // 15
console.log(str); // ""
var news = [];
function checkNews() {
var xhr = new XMLHttpRequest();
xhr.open('GET', 'http://example.com/WarAndPeace', true); //
xhr.onload = function() {
if (this.status != 200) return;
//
var m = this.response.match(/<div class="news">(.*?)<.div>/);
if (!m) return;
var feed = m[1]; //
if (!news.find(e=>e==feed)) { //
news.push(feed);
document.getElementById('allnews').innerHTML += '<br>' + feed;
}
};
xhr.send();
}
setInterval(checkNews, 55000);
function MemoryLeak() {
let huge = "x".repeat(15).repeat(1024).repeat(1024); // 15
let small = huge.substr(0,25); //
return small;
}
var arr = [];
var t = setInterval(e=>{ // 25 15 ?
let str = MemoryLeak();
//str = clearString(str);
console.log(' :',str.length + ' ');
arr.push(str);
console.log(' :',JSON.stringify(arr).length+' ');
},1000);
//clearInterval(t);
str = str - 0;
obj[str] = 123;
function clearString(str) {
return str.split('').join('');
}
// , .
let m = big_data.match(/\sMY_OPTIONS_(\w+) = (\w+)\s/);
if (m) obj[m[1]] = clearString(m[2]); //- .
function clearString(str) {
return str.length < 12 ? str : str.split('').join('');
}
nickname = clearString(nickname); //- .
long_live_obj.name = nickname; // , .
let cleared = clearString(xhr.response); //
function clearString(str) {
return str.split('').join('');
}
function clearString2(str) {
return JSON.parse(JSON.stringify(str));
}
function clearString3(str) {
// ' ' + str
//
return (' ' + str).slice(1);
}
function Test(test_arr,fn) {
let check1 = performance.now();
let a = []; // .
for(let i=0;i<1000000;i++){
a.push(fn(test_arr[i]));
}
let check2 = performance.now();
return check2-check1 || a.length;
}
var huge = "x".repeat(15).repeat(1024).repeat(1024); // 15Mb string
var test_arr = [];
for(let i=0;i<1000000;i++) {
test_arr.push(huge.substr(i,25)); // .
}
console.log(Test(test_arr,clearString));
console.log(Test(test_arr,clearString2));
console.log(Test(test_arr,clearString3));
console.log(Test(test_arr,clearString)); //700
console.log(Test(test_arr,clearString2)); //300
console.log(Test(test_arr,clearString3)); //280
//Opera
console.log(Test(test_arr,clearString)); // 868.5000000987202
console.log(Test(test_arr,stringCopy)); // 493.80000005476177
console.log(Test(test_arr,clearString2)); // 435.4999999050051
console.log(Test(test_arr,clearString3)); // 282.60000003501773
//Firefox ( , )
console.log(Test(test_arr,clearString)); // 210
console.log(Test(test_arr,stringCopy)); // 2077
console.log(Test(test_arr,clearString2)); // 632
console.log(Test(test_arr,clearString3)); // 185
function clearString4(str) {
// Buffer Node.js
//- 'utf-8'
return Buffer.from(str).toString();
}
:
//763.9701189994812 //clearString
//567.9718199996278 //clearString2
//218.58974299952388 //clearString3
//704.1628979993984 // Buffer.from
function clearStringFast(str) {
return str.length < 12 ? str : (' ' + str).slice(1);
}
Source: https://habr.com/ru/post/449368/