I have an idea rattling around that allowing the developer to mark a
function as deterministic would allow the compiler to determine if a
speed/memory memoization trade-off will improve performance.

Possible syntax:

deterministic function sum(a, b) { return a + b; }

Use case:

I can only think of one right now: compiler memoization

Why not a memoization library?

I'm not a compiler expert. I've read that today's compilers are doing
optimizations at runtime based on call frequency and other metrics that
they collect. If a compiler knows that a function is deterministic it will
be able to use call time metrics against the return value size to determine
if memoization should be done on specific calls.

I think (I could be completely wrong here) that the compiler has access to
memory metrics that a memoization library would not have access to in order
to optimize this on-the-fly.
_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to