diff options
| author | Irene Knapp <ireneista@irenes.space> | 2026-10-05 21:44:10 -0700 |
|---|---|---|
| committer | Irene Knapp <ireneista@irenes.space> | 2026-10-05 21:44:10 -0700 |
| commit | cf90c1feb3d649842f0c641ecc882925e065ee56 (patch) | |
| tree | b27fa296d280cd7618c73c883dc10204b5f6b7a5 | |
| parent | 2b601cdda09dc566c011efd1c5f72c30b196e1d3 (diff) | |
document the improved build time
Force-Push: yes Change-Id: I0320e0238edd5855bcfe75affd4cecd40c060265
| -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! :) |