tame/tamer/src
Mike Gerwitz 2e386f1baf tamer: xir::reader::XmlXirReader::refill_buf: Clear read buffer
This was done in the old reader many months ago, but I somehow forgot to do
it here (or forgot to).  The new reader was using substantially more memory.

Here's how this change affects the memory profile for one of our
systems (output from `ms_print`):

Before:

    MB
79.75^                                                             #
     |                                                             #
     |                                                             #       @
     |                                               @@@@          #       @
     |                                               @@@           #      @@
     |                                               @@@        @@@#@   @@@@@
     |                                               @@@        @@ #@@@@@@@@@@
     |                                            @@@@@@      @@@@ #@@@@@@@@@@
     |                                         @@ @@ @@@   @@ @ @@ #@@@@@@@@@@
     |                                         @@ @@ @@@  @@@@@ @@ #@@@@@@@@@@
     |                                         @@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     |                                         @@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     |   @@                                    @@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     |   @        @@     @@          @        @@@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     |   @        @     @@@         @@  @@@   @@@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     |   @     @@@@ @@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     | @@@   @@@@@@ @@@@@@@@@ @@@@@ @@@@@ @@ @@@@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     | @@@   @ @@@@ @@@@@@@@@ @@@@@ @@@@@ @@ @@@@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     | @@@ @@@ @@@@ @@@@@@@@@ @@@@@ @@@@@ @@ @@@@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
     | @@@ @@@ @@@@ @@@@@@@@@ @@@@@ @@@@@ @@ @@@@@@@ @@@ @@@@@@ @@ #@@@@@@@@@@
   0 +----------------------------------------------------------------------->Gi
     0                                                                   15.20

After:

    MB
63.25^                                                                      #
     |                                                                      #
     |                                                             @@@@@@@@@#@
     |                                                             @@@@@@ @@#@
     |                                                             @@@@@@ @@#@
     |                                                             @@@@@@ @@#@
     |                                                             @@@@@@ @@#@
     |                                                       @@@@@@@@@@@@ @@#@
     |                                                @@@@@@@@@ @@ @@@@@@ @@#@
     |                                         @@@@@@@@ @@@ @@@ @@ @@@@@@ @@#@
     |                                         @@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     |                                         @@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     |                                        @@@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     |                                        @@@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     |           @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     |        @@@@@@@@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     |      @@@@@@@@@@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     |    @@@@@@@@@@@@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     | @@@@@@@@@@@@@@@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
     | @@@@@@@@@@@@@@@@@@@@ @@@@@@@@ @@@@@@@@@@@@@@@  @ @@@ @@@ @@ @@@@@@ @@#@
   0 +----------------------------------------------------------------------->Gi
     0                                                                   15.20

The bottom graph is virtually identical to the memory profile of the old
reader, just with the exception that it's interning a bit more data than
before, because we're reading more comprehensively.

That's (potentially) the subject of future changes.

DEV-12038
2022-04-06 11:50:07 -04:00
..
asg tamer: obj::xmlo::ir::Dim: New enum 2022-03-25 14:28:18 -04:00
bin tamer: frontend: Begin basic XML parsing 2021-07-27 00:37:13 -04:00
frontend tamer: frontend: Begin basic XML parsing 2021-07-27 00:37:13 -04:00
iter tamer: iter::collect::TryCollect::try_collect_ok: Disambiguate try_collect 2022-03-08 12:55:54 -05:00
ld tamer: obj::xmlo::reader: Simplify wip-xmlo-xir-reader flagging 2022-03-24 09:45:59 -04:00
obj tamer: parse: Introduce mutable Context 2022-04-05 15:50:53 -04:00
sym tamer: obj::xmlo::reader: preproc:fragment parsing 2022-04-01 16:31:14 -04:00
test tamer: tameld: Skip fragment unescaping only to re-escape on write 2021-08-18 11:39:06 -04:00
tpwrap tamer: xir: Complete parse type migration 2022-03-21 15:50:43 -04:00
xir tamer: xir::reader::XmlXirReader::refill_buf: Clear read buffer 2022-04-06 11:50:07 -04:00
convert.rs tamer: convert: Add missing method-level docs 2021-09-08 16:12:53 -04:00
fs.rs Copyright year update 2021 2021-07-22 15:00:15 -04:00
global.rs tamer: Remove Ix generalization throughout system 2021-09-23 14:52:54 -04:00
iter.rs tamer: iter::TryCollect::try_collect_ok: New method 2021-11-10 09:09:07 -05:00
ld.rs tamer: {ir::=>}{asg, xir} 2021-11-04 16:13:27 -04:00
lib.rs tamer: parse: Introduce mutable Context 2022-04-05 15:50:53 -04:00
parse.rs tamer: parse (ParseState): Doc correction regarding determinism 2022-04-05 15:55:58 -04:00
span.rs tamer: obj::xmlo::reader: Begin symbol table parsing 2022-03-29 11:14:47 -04:00
xir.rs tamer: xir: Complete parse type migration 2022-03-21 15:50:43 -04:00