[antlr-interest] Antlr v4 - C++ target
Ruslan Zasukhin
ruslan_zasukhin at valentina-db.com
Wed Jan 11 00:31:10 PST 2012
On 1/11/12 5:36 AM, "Loring Craymer" <lgcraymer at yahoo.com> wrote:
> I think a bit of caution is in order. The average text length of a token is 5
> characters/bytes or less; pointers are now 8 bytes. Tokens encapsulate state
> information as well as text--input source, character index, line number, token
> type, C++ vtable pointers, and so forth--and are necessarily much larger than
> the text they represent. Data items are aligned on word (8 byte) boundaries,
> which adds even more expansion. It is possible to compress data structures by
> removing alignment constraints, converting pointers to offsets (instead of an
> end of text pointer, keep a byte or short integer index), and some other
> tricks; these all cost in terms of performance. Further, there is the issue
> of minimum allocation size; allocated memory chunks contain hidden pointers
> and (depending on the compiler) are likely to be allocated in chunks that are
> multiples of 128 bytes or larger. Shrinking ANTLR data structures, which are
> already near-minimal in terms
> of preserved information, is not easy to do. That is especially true for
> C++; the reason that Jim Idle did a C target for ANTLR 3 in the first place
> was to reduce the footprint of the ANTLR 2 C++ target.
But Lorin,
Again, I think C target have not achieve that point because was NOT single
pointer to virtual table, but MANY pointers to all "class" methods.
Or I am wrong here?
> So--despite Sam's intentions, I would not expect the ANTLR 4 C++ memory
> footprint to be smaller than the ANTLR 3 C footprint. If Sam does manage to
> produce a small footprint target, feel free to applaud wildly. Just don't
> expect miracles until they are made real.
--
Best regards,
Ruslan Zasukhin
VP Engineering and New Technology
Paradigma Software, Inc
Valentina - Joining Worlds of Information
http://www.paradigmasoft.com
[I feel the need: the need for speed]
More information about the antlr-interest
mailing list