diff options
| author | eunhhu <[email protected]> | 2026-10-05 08:41:45 +0100 |
|---|---|---|
| committer | eunhhu <[email protected]> | 2026-10-05 08:41:45 +0100 |
| commit | 1ef9dd24773058f766ad80ffc7a59295fc44c92d (patch) | |
| tree | 1fd00811ed87ff2976b1698d0dbed4873b44adc3 /prototypes/workbench/README.md | |
| parent | c1d1fdde86832f8c8528135975b660b00f1a3678 (diff) | |
| download | pure-1ef9dd24773058f766ad80ffc7a59295fc44c92d.tar.gz pure-1ef9dd24773058f766ad80ffc7a59295fc44c92d.zip | |
Compile only blocks with a loop, keep no code for a module without one, set a frame's fields one by one, and inline group_of (021)
- Compiled code paid only where blocks repeat; a block run once (a view's
cell, a fold's item, most handlers) ran slower through the code's entry
and its calls of step: the bank's table queries took 16-24% more
instructions. Now only a block with an EACH or a LOOP is compiled, and
a module with none keeps no compiled code.
- run() set its whole frame each time (the compiled code's run among it);
now its fields one by one.
- group_of is inlined into its pass: after the executor's refactor it
was a call per row (per_branch +4-5% instructions; now +1.1-1.3%).
Diffstat (limited to 'prototypes/workbench/README.md')
0 files changed, 0 insertions, 0 deletions
