
Outperforming Rust with Functional Programming - nemoniac
http://blog.vmchale.com/article/fast-functional
======
steveklabnik
> Here, we do something that is not possible to do in Rust or C - we safely
> stack-allocate the intermediate value,

There's no heap allocation in the Rust nor C code.

I haven't looked into the codegen to see what's different here.

~~~
steveklabnik
Some more details here, very interesting!
[https://www.reddit.com/r/rust/comments/7m99wo/outperforming_...](https://www.reddit.com/r/rust/comments/7m99wo/outperforming_rust_with_functional_programming/)

------
frankmcsherry
My understanding of how this shook out:
[https://www.reddit.com/r/rust/comments/7m99wo/outperforming_...](https://www.reddit.com/r/rust/comments/7m99wo/outperforming_rust_with_functional_programming/drt8ltq/)

tl;dr: the C and Rust versions had signed integers rather than unsigned like
the ATS version, and if you make that change they end up more similar.

------
hulkisdumb
probably going to sound stupid but what part of this was functional?

~~~
sli
I'm a little lost as well. I only see recursion and while loops.

