diff options
Diffstat (limited to 'README.txt')
| -rw-r--r-- | README.txt | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/README.txt b/README.txt index 78623c5..388f85f 100644 --- a/README.txt +++ b/README.txt @@ -390,18 +390,11 @@ hex-dump version of Evocation, do: evoke.hex through ./hex will give a binary that's byte-for-byte identical to evoke. - This does take several minutes to run (as many as ten, as of this writing), -but the cause is known: The metadata output buffer is stored in a way that -requires linear traversal for several operations. This dominates the runtime; -when it is fixed, the largest remaining cost will be the use of linked lists -rather than hash tables for the various dictionaries. These are both tasks to -do in the near future, now that bootstrapping is complete. - - Nearly all of this runtime is attributable to the log-load transform; if -you're working on something that doesn't involve the log-load transform, you -may find it useful to temporarily comment out the call to log-load-transform -in compilation/execution.e, replacing it with two invocations of drop. This -will not produce a working compiler, but it will finish faster. + This does take a little while to run (as much as two minutes, as of this +writing). The largest cost is most likely the use of linked lists rather than +hash tables for the various dictionaries, but the next step is to invent some +sort of measurement methodology to confirm that. This is mentioned here in +order to motivate discussion of the problem. Now get debugging! :) |