cairo/util/cairo-script
Chris Wilson 23648e2fdf [script] Prototypical binary translator
Hook into the scanner to write out binary version of the tokenized
objects -- note we bind executable names (i.e. check to see if is an
operator and substitute the name with an operator -- this breaks
overloading of operators by scripts).

By converting scripts to a binary form, they are more compact and
execute faster:

  firefox-world-map.trace 526850146 bytes
              bound.trace 275187755 bytes

[ # ]  backend                         test   min(s) median(s) stddev. count
[  0]     null                        bound   34.481   34.741   0.68%    3/3
[  1]     null            firefox-world-map   89.635   89.716   0.19%    3/3
[  0]      drm                        bound   79.304   79.350   0.61%    3/3
[  1]      drm            firefox-world-map  135.380  135.475   0.58%    3/3
[  0]    image                        bound   95.819   96.258   2.85%    3/3
[  1]    image            firefox-world-map  156.889  156.935   1.36%    3/3
[  0]     xlib                        bound  539.130  550.220   1.40%    3/3
[  1]     xlib            firefox-world-map  596.244  613.487   1.74%    3/3

This trace has a lot of complex paths and the use of binary floating point
reduces the file size by about 50%, with a commensurate reduction in scan
time and significant reduction in operator lookup overhead. Note that this
test is still IO/CPU bound on my i915 with its pitifully slow flash...
2009-07-04 15:29:07 +01:00
..
examples [script] Add examples 2008-12-12 12:00:44 +00:00
.gitignore [script] Simple replay. 2008-12-12 12:00:42 +00:00
cairo-script-file.c [script] Prototypical binary translator 2009-07-04 15:29:07 +01:00
cairo-script-hash.c [script] Manage used entries within hash tables 2009-06-06 13:52:20 +01:00
cairo-script-interpreter.c [script] Prototypical binary translator 2009-07-04 15:29:07 +01:00
cairo-script-interpreter.h [script] Prototypical binary translator 2009-07-04 15:29:07 +01:00
cairo-script-objects.c [script] Prototypical binary translator 2009-07-04 15:29:07 +01:00
cairo-script-operators.c [script] Prototypical binary translator 2009-07-04 15:29:07 +01:00
cairo-script-private.h [script] Prototypical binary translator 2009-07-04 15:29:07 +01:00
cairo-script-scanner.c [script] Prototypical binary translator 2009-07-04 15:29:07 +01:00
cairo-script-stack.c [script] Missing include for INT32_MAX 2009-05-08 08:52:32 +01:00
COPYING Add CairoScript interpreter 2008-11-13 11:36:55 +00:00
csi-exec.c [script] Recreate surface content. 2009-01-02 09:53:24 +00:00
csi-replay.c [script] Add missing include <string.h> 2009-07-04 08:08:25 +01:00
Makefile.am [script] Prototypical binary translator 2009-07-04 15:29:07 +01:00