Immutable Arrays Help Mutating Arrays More Efficiently
When trying to compile declarative programs into efficiently executable code, intuitively, it may seem that an ability to be more explicit about low-level details helps enabling a compiler or a code generator to lead to more runtime-efficient, parallel implementations. In this paper, we argue that quite the opposite is true, at least in the context of computations on large arrays. Keeping arrays immutable enables compiler transformations that, at the final code generation stage, leads to very efficient implementations through mutable arrays. Such tuning on the level of immutable arrays allows for more radical target-architecture-specific optimisations than what would be possible on the level of explicit memory, explicitly destructive updates and explicitly nested loops.
Fri 8 SepDisplayed time zone: Pacific Time (US & Canada) change
11:00 - 12:30 | ML Workshop: Session 2Higher-order, Typed, Inferred, Strict: ML Family Workshop at Grand Crescent Chair(s): Oleg Kiselyov Tohoku University | ||
11:00 30mTalk | A New Standard ML Prettyprinter Library, An Experience Report Higher-order, Typed, Inferred, Strict: ML Family Workshop David MacQueen University of Chicago (Emeritus) | ||
11:30 30mTalk | Exploring Perceus For OCaml Higher-order, Typed, Inferred, Strict: ML Family Workshop Pre-print | ||
12:00 30mTalk | Immutable Arrays Help Mutating Arrays More Efficiently Higher-order, Typed, Inferred, Strict: ML Family Workshop Sven-Bodo Scholz Heriot-Watt University |