Parsing x,y data graphs --
Sample runs with timing

The first parsing example is based on the simple x,y data graph presented earlier. Parsing proceeds in three steps:

The runs below were done on a Macintosh PowerBook G3 Series, 300MHz machine with 20MB allocated for the Lisp image.

Here is a trace of loading the grammar, which takes about 8 seconds:

? (time (load-grammar))
(LOAD-GRAMMAR) took 8,021 milliseconds (8.021 seconds) to run.
Of that, 72 milliseconds (0.072 seconds) were spent in The Cooperative Multitasking Experience.
 3,558,448 bytes of memory allocated.
#P"Macintosh HD:Research:DUS-comps3:Demo98:Grammars:x-y-grammar-final.lisp

Then the image objects in the diagram is installed, taking about 1.3 seconds:

(INSTALL-IMAGE FILE) took 1,309 milliseconds (1.309 seconds) to run.
Of that, 39 milliseconds (0.039 seconds) were spent in The Cooperative Multitasking Experience.
 3,499,408 bytes of memory allocated.

And then the parse itself is performed which takes just under 1 second:

(SETQ *SOLUTION* (PARSE TOP-NODE)) took 943 milliseconds (0.943 seconds) to run.
Of that, 12 milliseconds (0.012 seconds) were spent in The Cooperative Multitasking Experience.
 1,920,504 bytes of memory allocated.
#<INSPECTOR-WINDOW "(#<IMAGE #x30DD006>)" #x30E86A6>

 

A larger and more complex data graph:

Here are similar timing results for the more complex multi-part data graph shown below (Terwilliger, T.C., Wang, J.Y., and Koshland, D. E., Jr. (1986a) J. Biol. Chem. 261(3), 10814-20, Fig. 3, pg. 10187). This diagram was made up of N=146 primitives, yet it took less than three seconds to parse, after an installation taking about nine seconds. Many critical parts of the analysis such as discovering data point sets and tick mark sets run in linear time, which is a major reason why such large N values can be handled efficiently.


(INSTALL-IMAGE FILE) took 8,912 milliseconds (8.912 seconds) to run.
Of that, 2,297 milliseconds (2.297 seconds) were spent in The Cooperative Multitasking Experience.
860 milliseconds (0.860 seconds) was spent in GC.
 10,995,456 bytes of memory allocated.

(SETQ *SOLUTION* (PARSE TOP-NODE)) took 2,404 milliseconds (2.404 seconds) to run.
Of that, 236 milliseconds (0.236 seconds) were spent in The Cooperative Multitasking Experience.
 4,973,040 bytes of memory allocated.

Next: Object Sharing in parsed structures

Back to Index page