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

Reply via email to