Skip to content

Resolve "32-bit ABC code"

Clean Importer requested to merge 88-32-bit-abc-code into master

Closes #88 (closed)

To do:

  • Implement missing instructions
  • Fix 64-bit version of get_double_real and store_double_real in the C target
  • Fix printing of DREAL nodes on 64-bit platforms in debug_curses.c
  • Wasm implementation
  • Garbage collection for unboxed arrays of DREAL

For a moment it seemed that the Wasm implementation became up to twice slower (compare old vs new, both with 64-bit Clean, both on runner1), but this seems to be a CI artefact; compare these slow-downs compared to native Clean for 64-bit ABC code on WebAssembly mentioned in the IFL'19 paper, on the current master branch, and on this branch:

Benchmark Paper master 32-bit
brainfuck 11.0 11.1
fsieve 3.71 3.40 3.43
lqueen 9.5 7.72 7.66
nfib 13.3 13.4 13.1
parser 2.78 2.85
prolog 6.42 6.32
reverse 3.85 2.34 2.40
rfib 19.8 19.9
squeen 9.78 9.98
symsieve 5.62 5.57
tak 15.1 14.5 14.5
Edited by Clean Importer

Merge request reports