Next: Better Optimization, Up: Projects
Don't bother doing any performance analysis until most of the following items are taken care of, because there's no question they represent serious space/time problems, although some of them show up only given certain kinds of (popular) input.
malloc
package and its uses to specify more info about
memory pools and, where feasible, use obstacks to implement them.
COMMON
areas, EQUIVALENCE
areas) so zeros need not be output.
This would reduce memory usage for large initialized aggregate
areas, even ones with only one initialized element.
As of version 0.5.18, a portion of this item has already been accomplished.
ffewhere
type, which points to the error as much as is
desired by the configuration, will do, and don't pass ffelexToken
types
where a simple ffewhere
type will do.
Then, allow new default
configuration of ffewhere
such that the source line text is not
preserved, and leave it to things like Emacs' next-error function
to point to them (now that `next-error' supports column,
or, perhaps, character-offset, numbers).
The change in calling sequences should improve performance somewhat,
as should not having to save source lines.
(Whether this whole
item will improve performance is questionable, but it should
improve maintainability.)