[Webkit-unassigned] [Bug 72404] Could save a lot of memory in CharacterData by not always storing a String
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Nov 15 13:41:07 PST 2011
https://bugs.webkit.org/show_bug.cgi?id=72404
--- Comment #6 from Ojan Vafai <ojan at chromium.org> 2011-11-15 13:41:07 PST ---
BTW, here's the script I'm using to count the whitespace text nodes on a page:
var hash = {};
function walk(node) {
if (node.nodeType == Node.TEXT_NODE || node.nodeType == Node.COMMENT_NODE || node.nodeType == Node.PROCESSING_INSTRUCTION_NODE) {
var value = node.nodeValue;
if (!hash[value])
hash[value] = 0;
hash[value] += 1;
}
for (var i = 0, len = node.childNodes.length; i < len; i++) {
walk(node.childNodes[i]);
}
}
walk(document.body);
var uniqueStrings = 0;
for (var value in hash) {
var count = hash[value];
if (value.match(/^\s*$/)) {
console.log(JSON.stringify(value), count);
uniqueStrings++;
}
}
console.log(uniqueStrings);
And here's a more readable dump of the HTML spec's whitespace nodes:
"\n\n " 8197
"\n " 4172
"\n " 1052
"\n " 471
"\n \n" 1
"\n" 419
"\n " 21
"\n " 3099
"\n " 228
"\n " 497
"\n " 96
"\n " 157
" " 19240
"\n\n\n\n\n " 52
"\n\n\n\n " 242
"\n\n" 122
"\n\n\n " 472
"\n\n " 6117
"\n\n\n " 242
"\n\n\n\n " 4
"\n\n\n" 17
"\n\n " 3126
"\n\n " 1132
"\n\n\n\n\n\n\n " 2
"\n\n\n\n\n\n " 7
"\n\n " 545
"\n\n " 445
"\n\n\n " 78
"\n\n " 2
"\n\n " 166
"\n\n " 140
"\n \n " 1
"\n\n " 51
"\n\n " 26
"\n\n " 11
"\n " 7
"\n\n " 2
"\n\n " 3
"\n\n\n " 29
"\n\n\n " 6
" " 1
" " 1
" \n\n " 7
" \n\n " 7
"\n \n\n\n\n " 1
"\n\n \n\n " 7
" " 2
"\n " 9
" " 1
"\n " 1
"\n\n \n " 1
"\n\n\n\n\n\n\n\n " 2
"\n \n " 2
"\n \n " 1
"\n\n\n " 8
"\n\n\n\n\n" 1
"\n \n " 1
"\n\n\n\n" 1
"\n\n\n " 1
" " 1
" " 1
" " 1
" " 1
" " 2
" " 1
" " 3
" " 1
" " 1
" " 1
" " 2
"" 2
" \n\n\n " 1
"\n " 8
" \n\n " 2
"\n\n \n" 1
75
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list