aboutsummaryrefslogtreecommitdiffstats
path: root/research/experiments/004-direct-document-path/document-path.c
diff options
context:
space:
mode:
authoreunhhu <[email protected]>2026-10-05 08:41:45 +0100
committereunhhu <[email protected]>2026-10-05 08:41:45 +0100
commit1ef9dd24773058f766ad80ffc7a59295fc44c92d (patch)
tree1fd00811ed87ff2976b1698d0dbed4873b44adc3 /research/experiments/004-direct-document-path/document-path.c
parentc1d1fdde86832f8c8528135975b660b00f1a3678 (diff)
downloadpure-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 'research/experiments/004-direct-document-path/document-path.c')
0 files changed, 0 insertions, 0 deletions