LATEX-L Archives

Mailing list for the LaTeX3 project

LATEX-L@LISTSERV.UNI-HEIDELBERG.DE

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"J.Fine" <[log in to unmask]>
Fri, 27 Nov 2009 16:26:37 +0000
text/plain (34 lines)
Frank wrote:
===
Lars Hellström writes:

 > Following up on that: As a proof of concept, I implemented (for
 > TeX3/LaTeX2e) such a \DictGet command last night; see attached files
 > (<6K with source documentation and tests). Complexity is linear in the
 > size of dictionary values, but worst-case quadratic in the average size
 > of a key.

helpful for playing around and checking alternatives, thanks.

As to the approach you outlined, I wonder if we should go in this
direction.
===

The quadratic running time may be poison.  Once that feature is there, users may use it heavily.

It would be sensible to estimate the running time for a dictionary with 100 keys.

Here's an alternative suggestion.  When TeX boots, do a
  \fontdimen\nullfont = 100000
to get sufficient linear memory.  Now write a 'Turing machine' or 'CPU' that will use this linear memory (in TeX macros of course).  One will then be able to implement a linear time dictionary.

You might find this suggestion a little unusual but after investigation I think you will find that it gives a better architecture and performance than a pure TeX macros approach.

I look forward to discussing this.

--
Jonathan


The Open University is incorporated by Royal Charter (RC 000391), an exempt charity in England & Wales and a charity registered in Scotland (SC 038302).

ATOM RSS1 RSS2