We do have static atoms for all those strings, but we don't atomize on every path that creates a string. If you can find the path where these strings are created, we might be able to atomize there.
-Bill On Tue, Jan 21, 2014 at 7:44 PM, Nicholas Nethercote <[email protected] > wrote: > Hi, > > I got some puzzling about:memory measurements for a zone belonging to > a pdf.js window. Full details are below, but here's an illustrative > example: > > │ │ │ │ │ └───6.74 MB (01.79%) -- string(length=1, copies=176787, > ".") > │ │ │ │ │ ├──5.40 MB (01.43%) ── gc-heap > │ │ │ │ │ └──1.35 MB (00.36%) ── malloc-heap > > AIUI, we have static representations of all single-char, ASCII strings > such as ".". But this shows we have many non-static "." strings. > > Have I misunderstood, or is this a bug? > > Nick > > > > │ │ │ ├──16.31 MB (04.34%) -- strings > │ │ │ │ ├──14.86 MB (03.95%) -- notable > │ │ │ │ │ ├───8.12 MB (02.16%) -- (236 tiny) > │ │ │ │ │ │ ├──0.54 MB (00.14%) -- string(length=1, copies=14060, > " ") > │ │ │ │ │ │ │ ├──0.43 MB (00.11%) ── gc-heap > │ │ │ │ │ │ │ └──0.11 MB (00.03%) ── malloc-heap > │ │ │ │ │ │ ├──0.31 MB (00.08%) -- string(length=1, copies=8221, > "e") > │ │ │ │ │ │ │ ├──0.25 MB (00.07%) ── gc-heap > │ │ │ │ │ │ │ └──0.06 MB (00.02%) ── malloc-heap > │ │ │ │ │ │ ├──0.21 MB (00.06%) -- string(length=1, copies=5616, > "t") > │ │ │ │ │ │ │ ├──0.17 MB (00.05%) ── gc-heap > │ │ │ │ │ │ │ └──0.04 MB (00.01%) ── malloc-heap > │ │ │ │ │ │ ├──0.19 MB (00.05%) ++ string(length=1, copies=4959, > "a") > │ │ │ │ │ │ ├──0.19 MB (00.05%) ++ string(length=1, copies=4871, > "i") > │ │ │ │ │ │ ├──0.17 MB (00.05%) ++ string(length=1, copies=4447, > "o") > │ │ │ │ │ │ ├──0.16 MB (00.04%) ++ string(length=1, copies=4185, > "r") > │ │ │ │ │ │ ├──0.15 MB (00.04%) ++ string(length=1, copies=3863, > "c") > │ │ │ │ │ │ ├──0.14 MB (00.04%) ++ string(length=1, copies=3775, > "n") > │ │ │ │ │ │ ├──0.13 MB (00.04%) ++ string(length=1, copies=3487, > "l") > │ │ │ │ │ │ ├──0.13 MB (00.03%) ++ string(length=1, copies=3361, > "s") > │ │ │ │ │ │ ├──0.11 MB (00.03%) ++ string(length=1, copies=3006, > "2") > │ │ │ │ │ │ ├──0.11 MB (00.03%) ++ string(length=1, copies=2794, > "1") > │ │ │ │ │ │ ├──0.10 MB (00.03%) ++ string(length=1, copies=2912, > "0") > │ │ │ │ │ │ ├──0.10 MB (00.03%) ++ string(length=1, copies=2493, > "3") > │ │ │ │ │ │ ├──0.08 MB (00.02%) ++ string(length=1, copies=2221, > "d") > │ │ │ │ │ │ ├──0.07 MB (00.02%) ++ string(length=1, copies=1711, > "S") > │ │ │ │ │ │ ├──0.06 MB (00.02%) ++ string(length=1, copies=1689, > "p") > │ │ │ │ │ │ ├──0.06 MB (00.02%) ++ string(length=1, copies=1529, > "4") > │ │ │ │ │ │ ├──0.05 MB (00.01%) ++ string(length=1, copies=1313, > "u") > │ │ │ │ │ │ ├──0.05 MB (00.01%) ++ string(length=1, copies=1195, > "f") > │ │ │ │ │ │ ├──0.04 MB (00.01%) ++ string(length=1, copies=1129, > "M") > │ │ │ │ │ │ ├──0.04 MB (00.01%) ++ string(length=1, copies=1027, > "h") > > │ │ │ ├──16.31 MB (04.34%) -- strings > │ │ │ │ ├──14.86 MB (03.95%) -- notable > │ │ │ │ │ ├───8.12 MB (02.16%) -- (236 tiny) > │ │ │ │ │ │ ├──0.54 MB (00.14%) -- string(length=1, copies=14060, > " ") > │ │ │ │ │ │ │ ├──0.43 MB (00.11%) ── gc-heap > │ │ │ │ │ │ │ └──0.11 MB (00.03%) ── malloc-heap > │ │ │ │ │ │ ├──0.31 MB (00.08%) -- string(length=1, copies=8221, > "e") > │ │ │ │ │ │ │ ├──0.25 MB (00.07%) ── gc-heap > │ │ │ │ │ │ │ └──0.06 MB (00.02%) ── malloc-heap > │ │ │ │ │ │ ├──0.21 MB (00.06%) -- string(length=1, copies=5616, > "t") > │ │ │ │ │ │ │ ├──0.17 MB (00.05%) ── gc-heap > │ │ │ │ │ │ │ └──0.04 MB (00.01%) ── malloc-heap > │ │ │ │ │ │ ├──0.19 MB (00.05%) ++ string(length=1, copies=4959, > "a") > │ │ │ │ │ │ ├──0.19 MB (00.05%) ++ string(length=1, copies=4871, > "i") > │ │ │ │ │ │ ├──0.17 MB (00.05%) ++ string(length=1, copies=4447, > "o") > │ │ │ │ │ │ ├──0.16 MB (00.04%) ++ string(length=1, copies=4185, > "r") > │ │ │ │ │ │ ├──0.15 MB (00.04%) ++ string(length=1, copies=3863, > "c") > │ │ │ │ │ │ ├──0.14 MB (00.04%) ++ string(length=1, copies=3775, > "n") > │ │ │ │ │ │ ├──0.13 MB (00.04%) ++ string(length=1, copies=3487, > "l") > │ │ │ │ │ │ ├──0.13 MB (00.03%) ++ string(length=1, copies=3361, > "s") > │ │ │ │ │ │ ├──0.11 MB (00.03%) ++ string(length=1, copies=3006, > "2") > │ │ │ │ │ │ ├──0.11 MB (00.03%) ++ string(length=1, copies=2794, > "1") > │ │ │ │ │ │ ├──0.10 MB (00.03%) ++ string(length=1, copies=2912, > "0") > │ │ │ │ │ │ ├──0.10 MB (00.03%) ++ string(length=1, copies=2493, > "3") > │ │ │ │ │ │ ├──0.08 MB (00.02%) ++ string(length=1, copies=2221, > "d") > │ │ │ │ │ │ ├──0.07 MB (00.02%) ++ string(length=1, copies=1711, > "S") > │ │ │ │ │ │ ├──0.06 MB (00.02%) ++ string(length=1, copies=1689, > "p") > │ │ │ │ │ │ ├──0.06 MB (00.02%) ++ string(length=1, copies=1529, > "4") > │ │ │ │ │ │ ├──0.05 MB (00.01%) ++ string(length=1, copies=1313, > "u") > │ │ │ │ │ │ ├──0.05 MB (00.01%) ++ string(length=1, copies=1195, > "f") > │ │ │ │ │ │ ├──0.04 MB (00.01%) ++ string(length=1, copies=1129, > "M") > │ │ │ │ │ │ ├──0.04 MB (00.01%) ++ string(length=1, copies=1027, > "h") > │ │ │ │ │ │ ├──0.04 MB (00.01%) ++ string(length=1, copies=1010, > "5") > │ │ │ │ │ │ ├──0.04 MB (00.01%) ++ string(length=1, copies=967, > "g") > │ │ │ │ │ │ ├──0.04 MB (00.01%) ++ string(length=1, copies=925, > "T") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=907, > "P") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=803, > "m") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=773, > "b") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=765, > "/") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=740, > "6") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=737, > "8") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=727, > "9") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=699, > "I") > │ │ │ │ │ │ ├──0.03 MB (00.01%) ++ string(length=1, copies=679, > "C") > │ │ │ │ │ │ ├──0.02 MB (00.01%) ++ string(length=1, copies=643, > "7") > > │ │ │ │ │ └───6.74 MB (01.79%) -- string(length=1, copies=176787, > ".") > │ │ │ │ │ ├──5.40 MB (01.43%) ── gc-heap > │ │ │ │ │ └──1.35 MB (00.36%) ── malloc-heap > > Nick > _______________________________________________ > dev-tech-js-engine-internals mailing list > [email protected] > https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals > _______________________________________________ dev-tech-js-engine-internals mailing list [email protected] https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

