[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