krfkeith / silver

Automatically exported from code.google.com/p/silver
GNU Lesser General Public License v3.0
0 stars 0 forks source link

Speeding up Silver runtime startup #30

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Every program written in Silver goes through a start up phase calling three 
initialization functions.

Some of this functionality could be factored out until later, if we made a few 
improvements.  Here are a few general ideas:

  * Move information out of static lists, and into functions that are invoked.  (Major culprit: the types array stored for each production/function.)  That way, this code doesn't need to run when the class is initialized.
  * Move "debugging information" OUT of early start up.  (Major culprit: names of attributes arrays. We could hold off on initializing this information until, say, an exception is thrown, call it then, and THEN have that information available to give better exception messages, etc.)
  * Fix autocopy behavior, so we don't need that nasty `applyDecorator` business.

Basically, cut initialization down to array index computations and Lazy array 
filling.

Original issue reported on code.google.com by tux...@gmail.com on 29 Jan 2013 at 10:47